home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1992-05-18 | 13.4 KB | [ TEXT/CCL2]
open in: MacOS 8.1
extracted
|
Win98
extracted
|
DOS
extracted
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary ).
Confidence Program Detection Match Type Support
10%
dexvert
MacBinary (archive/macBinary)
fallback
Supported
1%
dexvert
Text File (text/txt)
fallback
Supported
100%
file
MacBinary II, inited, Mon May 18 17:18:39 1992, modified Mon May 18 17:18:39 1992, creator Common Lisp 2, type ASCII, 12951 bytes "screen-3buf.lisp" , at 0x3317 442 bytes resource
default (weak)
99%
file
data
default
74%
TrID
Macintosh plain text (MacBinary)
default
25%
TrID
MacBinary 2
default (weak)
100%
siegfried
fmt/1762 MacBinary (II)
default
100%
lsar
MacBinary
default
id metadata key value macFileType [ TEXT] macFileCreator [ CCL2]
hex view +--------+-------------------------+-------------------------+--------+--------+ |00000000| 00 10 73 63 72 65 65 6e | 2d 33 62 75 66 2e 6c 69 |..screen|-3buf.li| |00000010| 73 70 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |sp......|........| |00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000040| 00 54 45 58 54 43 43 4c | 32 01 00 00 00 00 00 00 |.TEXTCCL|2.......| |00000050| 00 00 00 00 00 32 97 00 | 00 01 ba a6 3d cf af a6 |.....2..|....=...| |00000060| 3d cf af 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |=.......|........| |00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 20 46 00 00 |........|.... F..| |00000080| 28 69 6e 2d 70 61 63 6b | 61 67 65 20 20 3a 6f 6f |(in-pack|age :oo| |00000090| 75 29 0d 28 6f 6f 75 2d | 70 72 6f 76 69 64 65 20 |u).(oou-|provide | |000000a0| 3a 73 63 72 65 65 6e 2d | 33 62 75 66 29 0d 3b 3b |:screen-|3buf).;;| |000000b0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |000000c0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |000000d0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |000000e0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |000000f0| 3b 3b 3b 3b 0d 3b 3b 20 | 73 63 72 65 65 6e 2d 33 |;;;;.;; |screen-3| |00000100| 62 75 66 2e 4c 69 73 70 | 0d 3b 3b 0d 3b 3b 20 43 |buf.Lisp|.;;.;; C| |00000110| 6f 70 79 72 69 67 68 74 | 20 a9 20 31 39 39 32 20 |opyright| . 1992 | |00000120| 4e 6f 72 74 68 77 65 73 | 74 65 72 6e 20 55 6e 69 |Northwes|tern Uni| |00000130| 76 65 72 73 69 74 79 20 | 49 6e 73 74 69 74 75 74 |versity |Institut| |00000140| 65 20 66 6f 72 20 74 68 | 65 20 4c 65 61 72 6e 69 |e for th|e Learni| |00000150| 6e 67 20 53 63 69 65 6e | 63 65 73 0d 3b 3b 20 41 |ng Scien|ces.;; A| |00000160| 6c 6c 20 52 69 67 68 74 | 73 20 52 65 73 65 72 76 |ll Right|s Reserv| |00000170| 65 64 0d 3b 3b 0d 3b 3b | 20 61 75 74 68 6f 72 3a |ed.;;.;;| author:| |00000180| 20 4d 69 63 68 61 65 6c | 20 53 2e 20 45 6e 67 62 | Michael| S. Engb| |00000190| 65 72 0d 3b 3b 0d 3b 3b | 20 43 6c 61 73 73 20 6f |er.;;.;;| Class o| |000001a0| 66 20 74 72 69 70 6c 65 | 20 62 75 66 66 65 72 20 |f triple| buffer | |000001b0| 73 63 72 65 65 6e 20 62 | 75 66 66 65 72 73 20 66 |screen b|uffers f| |000001c0| 6f 72 20 64 6f 69 6e 67 | 20 73 6d 6f 6f 74 68 20 |or doing| smooth | |000001d0| 61 6e 69 6d 61 74 69 6f | 6e 0d 3b 3b 0d 3b 3b 20 |animatio|n.;;.;; | |000001e0| 49 74 27 73 20 63 75 72 | 72 65 6e 74 6c 79 20 70 |It's cur|rently p| |000001f0| 72 65 74 74 79 20 6e 61 | 73 74 79 20 63 6f 64 65 |retty na|sty code| |00000200| 2c 20 6e 6f 74 20 66 6f | 72 20 70 75 62 6c 69 63 |, not fo|r public| |00000210| 20 63 6f 6e 73 75 6d 70 | 74 69 6f 6e 2e 20 56 61 | consump|tion. Va| |00000220| 72 69 6f 75 73 20 74 68 | 69 6e 67 73 0d 3b 3b 20 |rious th|ings.;; | |00000230| 77 68 69 63 68 20 61 72 | 65 20 65 61 73 69 65 72 |which ar|e easier| |00000240| 20 74 6f 20 75 73 65 20 | 77 69 6c 6c 20 62 65 20 | to use |will be | |00000250| 62 75 69 6c 74 20 6f 6e | 20 74 6f 70 20 6f 66 20 |built on| top of | |00000260| 69 74 2e 0d 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |it..;;;;|;;;;;;;;| |00000270| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00000280| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00000290| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |000002a0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 0d 0d 28 6f 6f 75 |;;;;;;;;|;;..(oou| |000002b0| 2d 64 65 70 65 6e 64 65 | 6e 63 69 65 73 20 3a 57 |-depende|ncies :W| |000002c0| 4d 67 72 2d 76 69 65 77 | 0d 20 20 20 20 20 20 20 |Mgr-view|. | |000002d0| 20 20 20 20 20 20 20 20 | 20 20 20 3a 73 69 6d 70 | | :simp| |000002e0| 6c 65 2d 76 69 65 77 2d | 63 65 0d 20 20 20 20 20 |le-view-|ce. | |000002f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3a 47 57 | | :GW| |00000300| 6f 72 6c 64 2d 76 69 65 | 77 0d 20 20 20 20 20 20 |orld-vie|w. | |00000310| 20 20 20 20 20 20 20 20 | 20 20 20 20 3a 51 75 69 | | :Qui| |00000320| 63 6b 44 72 61 77 2d 75 | 29 0d 0d 28 65 78 70 6f |ckDraw-u|)..(expo| |00000330| 72 74 20 27 28 29 29 0d | 0d 3b 3b 3b 3b 3b 3b 3b |rt '()).|.;;;;;;;| |00000340| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00000350| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00000360| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00000370| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 0d |;;;;;;;;|;;;;;;;.| |00000380| 0d 28 64 65 66 63 6c 61 | 73 73 20 73 63 72 65 65 |.(defcla|ss scree| |00000390| 6e 2d 33 62 75 66 20 28 | 29 0d 20 20 0d 20 20 28 |n-3buf (|). . (| |000003a0| 28 73 33 62 75 66 2d 70 | 6f 73 69 74 69 6f 6e 20 |(s3buf-p|osition | |000003b0| 3a 69 6e 69 74 61 72 67 | 20 3a 73 33 62 75 66 2d |:initarg| :s3buf-| |000003c0| 70 6f 73 69 74 69 6f 6e | 0d 20 20 20 20 20 20 20 |position|. | |000003d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3a 72 65 61 | | :rea| |000003e0| 64 65 72 20 20 20 73 33 | 62 75 66 2d 70 6f 73 69 |der s3|buf-posi| |000003f0| 74 69 6f 6e 29 0d 20 20 | 20 28 73 33 62 75 66 2d |tion). | (s3buf-| |00000400| 73 69 7a 65 20 20 20 20 | 20 3a 69 6e 69 74 61 72 |size | :initar| |00000410| 67 20 3a 73 33 62 75 66 | 2d 73 69 7a 65 0d 20 20 |g :s3buf|-size. | |00000420| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00000430| 20 3a 72 65 61 64 65 72 | 20 20 20 73 33 62 75 66 | :reader| s3buf| |00000440| 2d 73 69 7a 65 29 0d 20 | 20 20 28 73 61 76 65 64 |-size). | (saved| |00000450| 2d 47 57 2d 76 69 65 77 | 20 20 3a 61 63 63 65 73 |-GW-view| :acces| |00000460| 73 6f 72 20 73 61 76 65 | 64 2d 47 57 2d 76 69 65 |sor save|d-GW-vie| |00000470| 77 29 0d 20 20 20 28 69 | 6d 61 67 65 2d 47 57 2d |w). (i|mage-GW-| |00000480| 76 69 65 77 20 20 3a 61 | 63 63 65 73 73 6f 72 20 |view :a|ccessor | |00000490| 69 6d 61 67 65 2d 47 57 | 2d 76 69 65 77 29 0d 20 |image-GW|-view). | |000004a0| 20 20 28 73 63 72 61 70 | 2d 47 57 2d 76 69 65 77 | (scrap|-GW-view| |000004b0| 20 20 3a 61 63 63 65 73 | 73 6f 72 20 73 63 72 61 | :acces|sor scra| |000004c0| 70 2d 47 57 2d 76 69 65 | 77 29 29 0d 20 20 20 0d |p-GW-vie|w)). .| |000004d0| 20 20 20 28 3a 64 65 66 | 61 75 6c 74 2d 69 6e 69 | (:def|ault-ini| |000004e0| 74 61 72 67 73 0d 20 20 | 20 20 20 0d 20 20 20 20 |targs. | . | |000004f0| 20 29 29 0d 0d 28 64 65 | 66 6d 65 74 68 6f 64 20 | ))..(de|fmethod | |00000500| 69 6e 69 74 69 61 6c 69 | 7a 65 2d 69 6e 73 74 61 |initiali|ze-insta| |00000510| 6e 63 65 20 3a 61 66 74 | 65 72 20 28 28 73 33 62 |nce :aft|er ((s3b| |00000520| 20 73 63 72 65 65 6e 2d | 33 62 75 66 29 20 26 72 | screen-|3buf) &r| |00000530| 65 73 74 20 69 6e 69 74 | 61 72 67 73 29 0d 20 20 |est init|args). | |00000540| 28 64 65 63 6c 61 72 65 | 20 28 69 67 6e 6f 72 65 |(declare| (ignore| |00000550| 20 69 6e 69 74 61 72 67 | 73 29 29 0d 20 20 28 73 | initarg|s)). (s| |00000560| 65 74 66 20 28 73 61 76 | 65 64 2d 47 57 2d 76 69 |etf (sav|ed-GW-vi| |00000570| 65 77 20 73 33 62 29 20 | 28 6d 61 6b 65 2d 69 6e |ew s3b) |(make-in| |00000580| 73 74 61 6e 63 65 20 27 | 47 57 6f 72 6c 64 2d 76 |stance '|GWorld-v| |00000590| 69 65 77 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |iew. | | |000005a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |000005b0| 20 20 3a 76 69 65 77 2d | 70 6f 73 69 74 69 6f 6e | :view-|position| |000005c0| 20 28 73 33 62 75 66 2d | 70 6f 73 69 74 69 6f 6e | (s3buf-|position| |000005d0| 20 73 33 62 29 0d 20 20 | 20 20 20 20 20 20 20 20 | s3b). | | |000005e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |000005f0| 20 20 20 20 3a 76 69 65 | 77 2d 73 69 7a 65 20 28 | :vie|w-size (| |00000600| 73 33 62 75 66 2d 73 69 | 7a 65 20 73 33 62 29 0d |s3buf-si|ze s3b).| |00000610| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00000620| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3a 47 | | :G| |00000630| 57 2d 64 65 70 74 68 20 | 30 29 29 0d 20 20 28 73 |W-depth |0)). (s| |00000640| 65 74 66 20 28 69 6d 61 | 67 65 2d 47 57 2d 76 69 |etf (ima|ge-GW-vi| |00000650| 65 77 20 73 33 62 29 20 | 28 6d 61 6b 65 2d 69 6e |ew s3b) |(make-in| |00000660| 73 74 61 6e 63 65 20 27 | 47 57 6f 72 6c 64 2d 76 |stance '|GWorld-v| |00000670| 69 65 77 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |iew. | | |00000680| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00000690| 20 20 3a 76 69 65 77 2d | 70 6f 73 69 74 69 6f 6e | :view-|position| |000006a0| 20 28 73 33 62 75 66 2d | 70 6f 73 69 74 69 6f 6e | (s3buf-|position| |000006b0| 20 73 33 62 29 0d 20 20 | 20 20 20 20 20 20 20 20 | s3b). | | |000006c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |000006d0| 20 20 20 20 3a 76 69 65 | 77 2d 73 69 7a 65 20 28 | :vie|w-size (| |000006e0| 73 33 62 75 66 2d 73 69 | 7a 65 20 73 33 62 29 0d |s3buf-si|ze s3b).| |000006f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00000700| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3a 47 | | :G| |00000710| 57 2d 64 65 70 74 68 20 | 30 29 29 0d 20 20 28 73 |W-depth |0)). (s| |00000720| 65 74 66 20 28 73 63 72 | 61 70 2d 47 57 2d 76 69 |etf (scr|ap-GW-vi| |00000730| 65 77 20 73 33 62 29 20 | 28 6d 61 6b 65 2d 69 6e |ew s3b) |(make-in| |00000740| 73 74 61 6e 63 65 20 27 | 47 57 6f 72 6c 64 2d 76 |stance '|GWorld-v| |00000750| 69 65 77 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |iew. | | |00000760| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00000770| 20 20 3a 76 69 65 77 2d | 70 6f 73 69 74 69 6f 6e | :view-|position| |00000780| 20 28 73 33 62 75 66 2d | 70 6f 73 69 74 69 6f 6e | (s3buf-|position| |00000790| 20 73 33 62 29 0d 20 20 | 20 20 20 20 20 20 20 20 | s3b). | | |000007a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |000007b0| 20 20 20 20 3a 76 69 65 | 77 2d 73 69 7a 65 20 28 | :vie|w-size (| |000007c0| 73 33 62 75 66 2d 73 69 | 7a 65 20 73 33 62 29 0d |s3buf-si|ze s3b).| |000007d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |000007e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3a 47 | | :G| |000007f0| 57 2d 64 65 70 74 68 20 | 30 0d 20 20 20 20 20 20 |W-depth |0. | |00000800| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00000810| 20 20 20 20 20 20 20 20 | 3a 47 57 2d 69 6e 69 74 | |:GW-init| |00000820| 2d 66 6c 61 67 73 20 23 | 2e 28 2b 20 28 61 73 68 |-flags #|.(+ (ash| |00000830| 20 31 20 23 24 75 73 65 | 54 65 6d 70 4d 65 6d 29 | 1 #$use|TempMem)| |00000840| 20 28 61 73 68 20 31 20 | 23 24 70 69 78 50 75 72 | (ash 1 |#$pixPur| |00000850| 67 65 29 29 0d 29 29 29 | 0d 0d 0d 28 64 65 66 6d |ge)).)))|...(defm| |00000860| 65 74 68 6f 64 20 73 33 | 62 75 66 2d 61 6c 6c 6f |ethod s3|buf-allo| |00000870| 63 20 28 28 73 33 62 20 | 73 63 72 65 65 6e 2d 33 |c ((s3b |screen-3| |00000880| 62 75 66 29 29 0d 20 20 | 28 47 57 6f 72 6c 64 2d |buf)). |(GWorld-| |00000890| 61 6c 6c 6f 63 20 28 73 | 61 76 65 64 2d 47 57 2d |alloc (s|aved-GW-| |000008a0| 76 69 65 77 20 73 33 62 | 29 29 0d 20 20 28 47 57 |view s3b|)). (GW| |000008b0| 6f 72 6c 64 2d 61 6c 6c | 6f 63 20 28 69 6d 61 67 |orld-all|oc (imag| |000008c0| 65 2d 47 57 2d 76 69 65 | 77 20 73 33 62 29 29 0d |e-GW-vie|w s3b)).| |000008d0| 20 20 28 47 57 6f 72 6c | 64 2d 61 6c 6c 6f 63 20 | (GWorl|d-alloc | |000008e0| 28 73 63 72 61 70 2d 47 | 57 2d 76 69 65 77 20 73 |(scrap-G|W-view s| |000008f0| 33 62 29 29 0d 20 20 28 | 73 33 62 75 66 2d 73 63 |3b)). (|s3buf-sc| |00000900| 72 65 65 6e 2d 74 6f 2d | 73 61 76 65 64 20 73 33 |reen-to-|saved s3| |00000910| 62 29 0d 20 20 28 73 33 | 62 75 66 2d 73 61 76 65 |b). (s3|buf-save| |00000920| 64 2d 74 6f 2d 69 6d 61 | 67 65 20 73 33 62 29 29 |d-to-ima|ge s3b))| |00000930| 0d 0d 28 64 65 66 6d 65 | 74 68 6f 64 20 73 33 62 |..(defme|thod s3b| |00000940| 75 66 2d 64 69 73 70 6f | 73 65 20 28 28 73 33 62 |uf-dispo|se ((s3b| |00000950| 20 73 63 72 65 65 6e 2d | 33 62 75 66 29 29 0d 20 | screen-|3buf)). | |00000960| 20 28 47 57 6f 72 6c 64 | 2d 66 72 65 65 20 28 73 | (GWorld|-free (s| |00000970| 61 76 65 64 2d 47 57 2d | 76 69 65 77 20 73 33 62 |aved-GW-|view s3b| |00000980| 29 29 0d 20 20 28 47 57 | 6f 72 6c 64 2d 66 72 65 |)). (GW|orld-fre| |00000990| 65 20 28 69 6d 61 67 65 | 2d 47 57 2d 76 69 65 77 |e (image|-GW-view| |000009a0| 20 73 33 62 29 29 0d 20 | 20 28 47 57 6f 72 6c 64 | s3b)). | (GWorld| |000009b0| 2d 66 72 65 65 20 28 73 | 63 72 61 70 2d 47 57 2d |-free (s|crap-GW-| |000009c0| 76 69 65 77 20 73 33 62 | 29 29 29 0d 0d 3b 3b 3b |view s3b|)))..;;;| |000009d0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |000009e0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |000009f0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00000a00| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00000a10| 3b 3b 3b 0d 3b 3b 62 75 | 66 66 65 72 20 64 72 61 |;;;.;;bu|ffer dra| |00000a20| 77 69 6e 67 20 66 6e 73 | 0d 0d 28 64 65 66 6d 65 |wing fns|..(defme| |00000a30| 74 68 6f 64 20 73 33 62 | 75 66 2d 64 72 61 77 2d |thod s3b|uf-draw-| |00000a40| 74 6f 2d 73 61 76 65 64 | 20 28 28 73 33 62 20 73 |to-saved| ((s3b s| |00000a50| 63 72 65 65 6e 2d 33 62 | 75 66 29 20 64 72 61 77 |creen-3b|uf) draw| |00000a60| 2d 66 6e 29 0d 20 20 28 | 77 69 74 68 2d 73 6c 6f |-fn). (|with-slo| |00000a70| 74 73 20 28 73 61 76 65 | 64 2d 47 57 2d 76 69 65 |ts (save|d-GW-vie| |00000a80| 77 29 20 73 33 62 0d 20 | 20 20 20 28 77 69 74 68 |w) s3b. | (with| |00000a90| 2d 66 6f 63 75 73 65 64 | 2d 76 69 65 77 20 73 61 |-focused|-view sa| |00000aa0| 76 65 64 2d 47 57 2d 76 | 69 65 77 0d 20 20 20 20 |ved-GW-v|iew. | |00000ab0| 20 20 28 66 75 6e 63 61 | 6c 6c 20 64 72 61 77 2d | (funca|ll draw-| |00000ac0| 66 6e 20 73 33 62 20 28 | 70 72 65 66 20 28 47 57 |fn s3b (|pref (GW| |00000ad0| 6f 72 6c 64 20 73 61 76 | 65 64 2d 47 57 2d 76 69 |orld sav|ed-GW-vi| |00000ae0| 65 77 29 20 3a 43 47 72 | 61 66 50 6f 72 74 2e 70 |ew) :CGr|afPort.p| |00000af0| 6f 72 74 52 65 63 74 29 | 29 29 29 29 0d 0d 28 64 |ortRect)|))))..(d| |00000b00| 65 66 6d 65 74 68 6f 64 | 20 73 33 62 75 66 2d 64 |efmethod| s3buf-d| |00000b10| 72 61 77 2d 74 6f 2d 69 | 6d 61 67 65 20 28 28 73 |raw-to-i|mage ((s| |00000b20| 33 62 20 73 63 72 65 65 | 6e 2d 33 62 75 66 29 20 |3b scree|n-3buf) | |00000b30| 64 72 61 77 2d 66 6e 29 | 0d 20 20 28 77 69 74 68 |draw-fn)|. (with| |00000b40| 2d 73 6c 6f 74 73 20 28 | 69 6d 61 67 65 2d 47 57 |-slots (|image-GW| |00000b50| 2d 76 69 65 77 29 20 73 | 33 62 0d 20 20 20 20 28 |-view) s|3b. (| |00000b60| 77 69 74 68 2d 66 6f 63 | 75 73 65 64 2d 76 69 65 |with-foc|used-vie| |00000b70| 77 20 69 6d 61 67 65 2d | 47 57 2d 76 69 65 77 0d |w image-|GW-view.| |00000b80| 20 20 20 20 20 20 28 66 | 75 6e 63 61 6c 6c 20 64 | (f|uncall d| |00000b90| 72 61 77 2d 66 6e 20 73 | 33 62 20 28 70 72 65 66 |raw-fn s|3b (pref| |00000ba0| 20 28 47 57 6f 72 6c 64 | 20 69 6d 61 67 65 2d 47 | (GWorld| image-G| |00000bb0| 57 2d 76 69 65 77 29 20 | 3a 43 47 72 61 66 50 6f |W-view) |:CGrafPo| |00000bc0| 72 74 2e 70 6f 72 74 52 | 65 63 74 29 29 29 29 29 |rt.portR|ect)))))| |00000bd0| 0d 0d 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |..;;;;;;|;;;;;;;;| |00000be0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00000bf0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00000c00| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00000c10| 3b 3b 3b 3b 3b 3b 3b 3b | 0d 3b 3b 62 75 66 66 65 |;;;;;;;;|.;;buffe| |00000c20| 72 20 3c 2d 3e 20 73 63 | 72 65 65 6e 20 63 6f 70 |r <-> sc|reen cop| |00000c30| 79 20 66 6e 73 0d 0d 28 | 64 65 66 6d 65 74 68 6f |y fns..(|defmetho| |00000c40| 64 20 73 33 62 75 66 2d | 73 63 72 65 65 6e 2d 74 |d s3buf-|screen-t| |00000c50| 6f 2d 73 61 76 65 64 20 | 28 28 73 33 62 20 73 63 |o-saved |((s3b sc| |00000c60| 72 65 65 6e 2d 33 62 75 | 66 29 20 26 6b 65 79 20 |reen-3bu|f) &key | |00000c70| 28 63 6f 70 79 2d 72 67 | 6e 20 28 25 6e 75 6c 6c |(copy-rg|n (%null| |00000c80| 2d 70 74 72 29 29 29 0d | 20 20 28 77 69 74 68 2d |-ptr))).| (with-| |00000c90| 73 6c 6f 74 73 20 28 73 | 61 76 65 64 2d 47 57 2d |slots (s|aved-GW-| |00000ca0| 76 69 65 77 29 20 73 33 | 62 0d 20 20 20 20 28 77 |view) s3|b. (w| |00000cb0| 69 74 68 2d 6d 61 63 70 | 74 72 73 20 28 28 72 20 |ith-macp|trs ((r | |00000cc0| 28 70 72 65 66 20 28 47 | 57 6f 72 6c 64 20 73 61 |(pref (G|World sa| |00000cd0| 76 65 64 2d 47 57 2d 76 | 69 65 77 29 20 3a 43 47 |ved-GW-v|iew) :CG| |00000ce0| 72 61 66 50 6f 72 74 2e | 70 6f 72 74 52 65 63 74 |rafPort.|portRect| |00000cf0| 29 29 29 0d 20 20 20 20 | 20 20 28 77 69 74 68 2d |))). | (with-| |00000d00| 66 6f 63 75 73 65 64 2d | 76 69 65 77 20 73 61 76 |focused-|view sav| |00000d10| 65 64 2d 47 57 2d 76 69 | 65 77 0d 20 20 20 20 20 |ed-GW-vi|ew. | |00000d20| 20 20 20 28 23 5f 43 6f | 70 79 42 69 74 73 20 28 | (#_Co|pyBits (| |00000d30| 76 69 65 77 2d 70 6f 72 | 74 42 69 74 73 20 2a 57 |view-por|tBits *W| |00000d40| 4d 47 72 2d 76 69 65 77 | 2a 29 20 28 76 69 65 77 |MGr-view|*) (view| |00000d50| 2d 70 6f 72 74 42 69 74 | 73 20 73 61 76 65 64 2d |-portBit|s saved-| |00000d60| 47 57 2d 76 69 65 77 29 | 20 72 20 72 20 23 24 73 |GW-view)| r r #$s| |00000d70| 72 63 43 6f 70 79 20 63 | 6f 70 79 2d 72 67 6e 29 |rcCopy c|opy-rgn)| |00000d80| 29 29 29 29 0d 0d 28 64 | 65 66 6d 65 74 68 6f 64 |))))..(d|efmethod| |00000d90| 20 73 33 62 75 66 2d 73 | 61 76 65 64 2d 74 6f 2d | s3buf-s|aved-to-| |00000da0| 69 6d 61 67 65 20 20 28 | 28 73 33 62 20 73 63 72 |image (|(s3b scr| |00000db0| 65 65 6e 2d 33 62 75 66 | 29 20 26 6b 65 79 20 28 |een-3buf|) &key (| |00000dc0| 63 6f 70 79 2d 72 67 6e | 20 28 25 6e 75 6c 6c 2d |copy-rgn| (%null-| |00000dd0| 70 74 72 29 29 29 0d 20 | 20 28 77 69 74 68 2d 73 |ptr))). | (with-s| |00000de0| 6c 6f 74 73 20 28 73 61 | 76 65 64 2d 47 57 2d 76 |lots (sa|ved-GW-v| |00000df0| 69 65 77 20 69 6d 61 67 | 65 2d 47 57 2d 76 69 65 |iew imag|e-GW-vie| |00000e00| 77 29 20 73 33 62 0d 20 | 20 20 20 28 77 69 74 68 |w) s3b. | (with| |00000e10| 2d 6d 61 63 70 74 72 73 | 20 28 28 72 20 28 70 72 |-macptrs| ((r (pr| |00000e20| 65 66 20 28 47 57 6f 72 | 6c 64 20 73 61 76 65 64 |ef (GWor|ld saved| |00000e30| 2d 47 57 2d 76 69 65 77 | 29 20 3a 43 47 72 61 66 |-GW-view|) :CGraf| |00000e40| 50 6f 72 74 2e 70 6f 72 | 74 52 65 63 74 29 29 29 |Port.por|tRect)))| |00000e50| 0d 20 20 20 20 20 20 28 | 77 69 74 68 2d 6c 6f 63 |. (|with-loc| |00000e60| 6b 65 64 2d 47 57 6f 72 | 6c 64 2d 76 69 65 77 20 |ked-GWor|ld-view | |00000e70| 73 61 76 65 64 2d 47 57 | 2d 76 69 65 77 0d 20 20 |saved-GW|-view. | |00000e80| 20 20 20 20 20 20 28 77 | 69 74 68 2d 66 6f 63 75 | (w|ith-focu| |00000e90| 73 65 64 2d 76 69 65 77 | 20 69 6d 61 67 65 2d 47 |sed-view| image-G| |00000ea0| 57 2d 76 69 65 77 0d 20 | 20 20 20 20 20 20 20 20 |W-view. | | |00000eb0| 20 28 23 5f 43 6f 70 79 | 42 69 74 73 20 28 76 69 | (#_Copy|Bits (vi| |00000ec0| 65 77 2d 70 6f 72 74 42 | 69 74 73 20 73 61 76 65 |ew-portB|its save| |00000ed0| 64 2d 47 57 2d 76 69 65 | 77 29 20 28 76 69 65 77 |d-GW-vie|w) (view| |00000ee0| 2d 70 6f 72 74 42 69 74 | 73 20 69 6d 61 67 65 2d |-portBit|s image-| |00000ef0| 47 57 2d 76 69 65 77 29 | 20 72 20 72 20 23 24 73 |GW-view)| r r #$s| |00000f00| 72 63 43 6f 70 79 20 63 | 6f 70 79 2d 72 67 6e 29 |rcCopy c|opy-rgn)| |00000f10| 29 29 29 29 29 0d 0d 28 | 64 65 66 6d 65 74 68 6f |)))))..(|defmetho| |00000f20| 64 20 73 33 62 75 66 2d | 73 61 76 65 64 2d 74 6f |d s3buf-|saved-to| |00000f30| 2d 73 63 72 65 65 6e 20 | 28 28 73 33 62 20 73 63 |-screen |((s3b sc| |00000f40| 72 65 65 6e 2d 33 62 75 | 66 29 20 26 6b 65 79 20 |reen-3bu|f) &key | |00000f50| 28 63 6f 70 79 2d 72 67 | 6e 20 28 25 6e 75 6c 6c |(copy-rg|n (%null| |00000f60| 2d 70 74 72 29 29 29 0d | 20 20 28 77 69 74 68 2d |-ptr))).| (with-| |00000f70| 73 6c 6f 74 73 20 28 73 | 61 76 65 64 2d 47 57 2d |slots (s|aved-GW-| |00000f80| 76 69 65 77 29 20 73 33 | 62 0d 20 20 20 20 28 77 |view) s3|b. (w| |00000f90| 69 74 68 2d 6d 61 63 70 | 74 72 73 20 28 28 72 20 |ith-macp|trs ((r | |00000fa0| 28 70 72 65 66 20 28 47 | 57 6f 72 6c 64 20 73 61 |(pref (G|World sa| |00000fb0| 76 65 64 2d 47 57 2d 76 | 69 65 77 29 20 3a 43 47 |ved-GW-v|iew) :CG| |00000fc0| 72 61 66 50 6f 72 74 2e | 70 6f 72 74 52 65 63 74 |rafPort.|portRect| |00000fd0| 29 29 29 0d 20 20 20 20 | 20 20 28 77 69 74 68 2d |))). | (with-| |00000fe0| 6c 6f 63 6b 65 64 2d 47 | 57 6f 72 6c 64 2d 76 69 |locked-G|World-vi| |00000ff0| 65 77 20 73 61 76 65 64 | 2d 47 57 2d 76 69 65 77 |ew saved|-GW-view| |00001000| 0d 20 20 20 20 20 20 20 | 20 28 77 69 74 68 2d 66 |. | (with-f| |00001010| 6f 63 75 73 65 64 2d 76 | 69 65 77 20 2a 57 4d 47 |ocused-v|iew *WMG| |00001020| 72 2d 76 69 65 77 2a 0d | 20 20 20 20 20 20 20 20 |r-view*.| | |00001030| 20 20 28 23 5f 43 6f 70 | 79 42 69 74 73 20 28 76 | (#_Cop|yBits (v| |00001040| 69 65 77 2d 70 6f 72 74 | 42 69 74 73 20 73 61 76 |iew-port|Bits sav| |00001050| 65 64 2d 47 57 2d 76 69 | 65 77 29 20 28 76 69 65 |ed-GW-vi|ew) (vie| |00001060| 77 2d 70 6f 72 74 42 69 | 74 73 20 2a 57 4d 47 72 |w-portBi|ts *WMGr| |00001070| 2d 76 69 65 77 2a 29 20 | 72 20 72 20 23 24 73 72 |-view*) |r r #$sr| |00001080| 63 43 6f 70 79 20 63 6f | 70 79 2d 72 67 6e 29 29 |cCopy co|py-rgn))| |00001090| 29 29 29 29 0d 0d 28 64 | 65 66 6d 65 74 68 6f 64 |))))..(d|efmethod| |000010a0| 20 73 33 62 75 66 2d 69 | 6d 61 67 65 2d 74 6f 2d | s3buf-i|mage-to-| |000010b0| 73 63 72 65 65 6e 20 28 | 28 73 33 62 20 73 63 72 |screen (|(s3b scr| |000010c0| 65 65 6e 2d 33 62 75 66 | 29 20 26 6b 65 79 20 28 |een-3buf|) &key (| |000010d0| 63 6f 70 79 2d 72 67 6e | 20 28 25 6e 75 6c 6c 2d |copy-rgn| (%null-| |000010e0| 70 74 72 29 29 29 0d 20 | 20 28 77 69 74 68 2d 73 |ptr))). | (with-s| |000010f0| 6c 6f 74 73 20 28 69 6d | 61 67 65 2d 47 57 2d 76 |lots (im|age-GW-v| |00001100| 69 65 77 29 20 73 33 62 | 0d 20 20 20 20 28 77 69 |iew) s3b|. (wi| |00001110| 74 68 2d 6d 61 63 70 74 | 72 73 20 28 28 72 20 28 |th-macpt|rs ((r (| |00001120| 70 72 65 66 20 28 47 57 | 6f 72 6c 64 20 69 6d 61 |pref (GW|orld ima| |00001130| 67 65 2d 47 57 2d 76 69 | 65 77 29 20 3a 43 47 72 |ge-GW-vi|ew) :CGr| |00001140| 61 66 50 6f 72 74 2e 70 | 6f 72 74 52 65 63 74 29 |afPort.p|ortRect)| |00001150| 29 29 0d 20 20 20 20 20 | 20 28 77 69 74 68 2d 6c |)). | (with-l| |00001160| 6f 63 6b 65 64 2d 47 57 | 6f 72 6c 64 2d 76 69 65 |ocked-GW|orld-vie| |00001170| 77 20 69 6d 61 67 65 2d | 47 57 2d 76 69 65 77 0d |w image-|GW-view.| |00001180| 20 20 20 20 20 20 20 20 | 28 77 69 74 68 2d 66 6f | |(with-fo| |00001190| 63 75 73 65 64 2d 76 69 | 65 77 20 2a 57 4d 47 72 |cused-vi|ew *WMGr| |000011a0| 2d 76 69 65 77 2a 0d 20 | 20 20 20 20 20 20 20 20 |-view*. | | |000011b0| 20 28 23 5f 43 6f 70 79 | 42 69 74 73 20 28 76 69 | (#_Copy|Bits (vi| |000011c0| 65 77 2d 70 6f 72 74 42 | 69 74 73 20 69 6d 61 67 |ew-portB|its imag| |000011d0| 65 2d 47 57 2d 76 69 65 | 77 29 20 28 76 69 65 77 |e-GW-vie|w) (view| |000011e0| 2d 70 6f 72 74 42 69 74 | 73 20 2a 57 4d 47 72 2d |-portBit|s *WMGr-| |000011f0| 76 69 65 77 2a 29 20 72 | 20 72 20 23 24 73 72 63 |view*) r| r #$src| |00001200| 43 6f 70 79 20 63 6f 70 | 79 2d 72 67 6e 29 29 29 |Copy cop|y-rgn)))| |00001210| 29 29 29 0d 0d 0d 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |)))...;;|;;;;;;;;| |00001220| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00001230| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00001240| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00001250| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 0d 3b 3b 62 |;;;;;;;;|;;;;.;;b| |00001260| 75 66 66 65 72 20 6d 6f | 76 69 6e 67 20 66 75 6e |uffer mo|ving fun| |00001270| 63 74 69 6f 6e 73 20 2d | 20 76 65 72 79 20 63 6f |ctions -| very co| |00001280| 6d 70 6c 69 63 61 74 65 | 64 20 2d 20 76 65 72 79 |mplicate|d - very| |00001290| 20 75 67 6c 79 0d 3b 3b | 0d 3b 3b 20 54 68 65 72 | ugly.;;|.;; Ther| |000012a0| 65 20 61 72 65 20 62 61 | 73 69 63 61 6c 6c 79 20 |e are ba|sically | |000012b0| 32 20 63 6f 6e 63 65 70 | 74 73 20 77 68 65 6e 20 |2 concep|ts when | |000012c0| 72 65 70 6f 73 69 74 69 | 6f 6e 69 6e 67 20 61 20 |repositi|oning a | |000012d0| 73 63 72 65 65 6e 20 62 | 75 66 66 65 72 3a 0d 3b |screen b|uffer:.;| |000012e0| 3b 0d 3b 3b 20 20 2d 20 | 73 6c 69 70 69 6e 67 3a |;.;; - |sliping:| |000012f0| 20 42 75 66 66 65 72 65 | 64 20 72 65 63 74 20 63 | Buffere|d rect c| |00001300| 68 61 6e 67 65 73 20 62 | 75 74 20 74 68 65 20 73 |hanges b|ut the s| |00001310| 61 76 65 64 20 62 69 74 | 73 20 64 6f 6e 27 74 20 |aved bit|s don't | |00001320| 63 68 61 6e 67 65 20 70 | 6f 73 69 74 69 6f 6e 2e |change p|osition.| |00001330| 0d 3b 3b 20 20 20 20 49 | 6d 61 67 69 6e 65 2c 20 |.;; I|magine, | |00001340| 74 68 65 20 66 72 61 6d | 65 20 6f 66 20 74 68 65 |the fram|e of the| |00001350| 20 62 75 66 66 65 72 20 | 73 6c 69 70 70 69 6e 67 | buffer |slipping| |00001360| 20 6f 76 65 72 20 74 68 | 65 20 73 63 72 65 65 6e | over th|e screen| |00001370| 20 74 6f 20 61 20 6e 65 | 77 20 70 6f 73 69 74 69 | to a ne|w positi| |00001380| 6f 6e 2e 0d 3b 3b 0d 3b | 3b 20 20 2d 20 6d 6f 76 |on..;;.;|; - mov| |00001390| 69 6e 67 3a 20 42 75 66 | 66 65 72 65 64 20 72 65 |ing: Buf|fered re| |000013a0| 63 74 20 63 68 61 6e 67 | 65 73 20 61 6e 64 20 74 |ct chang|es and t| |000013b0| 68 65 20 62 69 74 73 20 | 6d 6f 76 65 20 77 69 74 |he bits |move wit| |000013c0| 68 20 69 74 2e 0d 3b 3b | 20 20 20 20 49 6d 61 67 |h it..;;| Imag| |000013d0| 69 6e 65 2c 20 74 68 65 | 20 66 72 61 6d 65 20 6f |ine, the| frame o| |000013e0| 66 20 74 68 65 20 62 75 | 66 66 65 72 20 6d 6f 76 |f the bu|ffer mov| |000013f0| 69 6e 67 20 74 6f 20 61 | 20 6e 65 77 20 70 6f 73 |ing to a| new pos| |00001400| 69 74 69 6f 6e 20 63 61 | 72 72 79 69 6e 67 20 74 |ition ca|rrying t| |00001410| 68 65 20 62 69 74 73 0d | 3b 3b 20 20 20 20 77 69 |he bits.|;; wi| |00001420| 74 68 20 69 74 20 61 73 | 20 69 74 20 67 6f 65 73 |th it as| it goes| |00001430| 20 2d 20 6c 69 6b 65 20 | 61 20 77 69 6e 64 6f 77 | - like |a window| |00001440| 20 64 6f 65 73 20 77 68 | 65 6e 20 79 6f 75 20 6d | does wh|en you m| |00001450| 6f 76 65 20 69 74 2e 0d | 3b 3b 0d 3b 3b 20 53 6c |ove it..|;;.;; Sl| |00001460| 69 70 70 69 6e 67 20 69 | 73 20 75 73 65 66 75 6c |ipping i|s useful| |00001470| 20 69 66 20 79 6f 75 27 | 72 65 20 62 75 66 66 65 | if you'|re buffe| |00001480| 72 69 6e 67 20 74 68 65 | 20 73 63 72 65 65 6e 20 |ring the| screen | |00001490| 66 6f 72 20 74 68 65 20 | 64 72 61 67 69 6e 67 20 |for the |draging | |000014a0| 73 6f 6d 65 20 72 65 67 | 69 6f 6e 0d 3b 3b 20 61 |some reg|ion.;; a| |000014b0| 72 6f 75 6e 64 2e 20 59 | 6f 75 20 6e 65 65 64 20 |round. Y|ou need | |000014c0| 74 6f 20 6d 6f 76 65 20 | 79 6f 75 72 20 62 75 66 |to move |your buf| |000014d0| 66 65 72 20 74 6f 20 72 | 65 66 6c 65 63 74 20 74 |fer to r|eflect t| |000014e0| 68 65 20 6e 65 77 20 70 | 6f 73 69 74 69 6f 6e 20 |he new p|osition | |000014f0| 6f 66 20 74 68 65 20 6f | 62 6a 65 63 74 2c 0d 3b |of the o|bject,.;| |00001500| 3b 20 62 75 74 20 74 68 | 65 20 62 61 63 6b 67 72 |; but th|e backgr| |00001510| 6f 75 6e 64 20 62 69 74 | 73 20 79 6f 75 27 72 65 |ound bit|s you're| |00001520| 20 73 61 76 69 6e 67 20 | 64 6f 6e 27 74 20 6d 6f | saving |don't mo| |00001530| 76 65 2e 0d 3b 3b 0d 3b | 3b 20 4d 6f 76 69 6e 67 |ve..;;.;|; Moving| |00001540| 20 69 73 20 75 73 65 66 | 75 6c 20 69 66 20 79 6f | is usef|ul if yo| |00001550| 75 27 72 65 20 62 75 66 | 66 65 72 69 6e 67 20 74 |u're buf|fering t| |00001560| 68 65 20 63 6f 6e 74 65 | 6e 74 73 20 6f 66 20 61 |he conte|nts of a| |00001570| 20 77 69 6e 64 6f 77 20 | 61 6e 64 20 74 68 65 20 | window |and the | |00001580| 77 69 6e 64 6f 77 0d 3b | 3b 20 6d 6f 76 65 73 2e |window.;|; moves.| |00001590| 20 41 6c 73 6f 2c 20 77 | 68 65 6e 20 64 72 61 67 | Also, w|hen drag| |000015a0| 69 6e 67 20 61 6e 20 6f | 62 6a 65 63 74 20 61 72 |ing an o|bject ar| |000015b0| 6f 75 6e 64 2c 20 74 68 | 65 20 62 69 74 73 20 69 |ound, th|e bits i| |000015c0| 6e 20 74 68 65 20 72 65 | 67 69 6f 6e 20 63 6f 72 |n the re|gion cor| |000015d0| 72 65 73 70 6f 6e 64 69 | 6e 67 0d 3b 3b 20 74 6f |respondi|ng.;; to| |000015e0| 20 74 68 65 20 6f 62 6a | 65 63 74 20 62 65 69 6e | the obj|ect bein| |000015f0| 67 20 64 72 61 67 67 65 | 64 20 73 68 6f 75 6c 64 |g dragge|d should| |00001600| 20 62 65 20 6d 6f 76 65 | 64 20 28 74 68 65 20 72 | be move|d (the r| |00001610| 65 73 74 20 6f 66 20 74 | 68 65 20 62 69 74 73 20 |est of t|he bits | |00001620| 73 68 6f 75 6c 64 20 73 | 6c 69 70 29 0d 0d 28 64 |should s|lip)..(d| |00001630| 65 66 6d 65 74 68 6f 64 | 20 73 33 62 75 66 2d 72 |efmethod| s3buf-r| |00001640| 65 70 6f 73 69 74 69 6f | 6e 20 28 28 73 33 62 20 |epositio|n ((s3b | |00001650| 73 63 72 65 65 6e 2d 33 | 62 75 66 29 20 74 6f 70 |screen-3|buf) top| |00001660| 4c 65 66 74 20 62 6f 74 | 52 69 67 68 74 0d 20 20 |Left bot|Right. | |00001670| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00001680| 20 20 20 20 20 20 20 20 | 20 20 20 26 6b 65 79 0d | | &key.| |00001690| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |000016a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 28 72 65 | | (re| |000016b0| 73 74 6f 72 65 2d 6f 6c | 64 2d 72 67 6e 2d 70 20 |store-ol|d-rgn-p | |000016c0| 20 6e 69 6c 29 0d 20 20 | 20 20 20 20 20 20 20 20 | nil). | | |000016d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |000016e0| 20 20 20 28 73 61 76 65 | 64 2d 78 66 65 72 2d 6d | (save|d-xfer-m| |000016f0| 6f 64 65 20 20 20 3a 73 | 6c 69 70 29 0d 20 20 20 |ode :s|lip). | |00001700| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00001710| 20 20 20 20 20 20 20 20 | 20 20 28 69 6d 61 67 65 | | (image| |00001720| 2d 78 66 65 72 2d 6d 6f | 64 65 20 20 20 3a 6d 6f |-xfer-mo|de :mo| |00001730| 76 65 29 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |ve). | | |00001740| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00001750| 20 28 69 6d 61 67 65 2d | 73 75 62 2d 72 67 6e 20 | (image-|sub-rgn | |00001760| 20 20 20 20 28 25 6e 75 | 6c 6c 2d 70 74 72 29 29 | (%nu|ll-ptr))| |00001770| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | | |00001780| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 73 | | (s| |00001790| 75 62 2d 72 67 6e 2d 6e | 65 77 2d 70 6f 73 20 20 |ub-rgn-n|ew-pos | |000017a0| 20 20 6e 69 6c 29 29 0d | 20 20 28 64 65 63 6c 61 | nil)).| (decla| |000017b0| 72 65 20 28 64 79 6e 61 | 6d 69 63 2d 65 78 74 65 |re (dyna|mic-exte| |000017c0| 6e 74 20 73 33 62 20 74 | 6f 70 4c 65 66 74 20 62 |nt s3b t|opLeft b| |000017d0| 6f 74 52 69 67 68 74 20 | 72 65 73 74 6f 72 65 2d |otRight |restore-| |000017e0| 6f 6c 64 2d 72 67 6e 2d | 70 20 73 61 76 65 64 2d |old-rgn-|p saved-| |000017f0| 78 66 65 72 2d 6d 6f 64 | 65 20 69 6d 61 67 65 2d |xfer-mod|e image-| |00001800| 78 66 65 72 2d 6d 6f 64 | 65 20 69 6d 61 67 65 2d |xfer-mod|e image-| |00001810| 73 75 62 2d 72 67 6e 20 | 73 75 62 2d 72 67 6e 2d |sub-rgn |sub-rgn-| |00001820| 6e 65 77 2d 70 6f 73 29 | 29 0d 20 20 28 77 69 74 |new-pos)|). (wit| |00001830| 68 2d 73 6c 6f 74 73 20 | 28 73 61 76 65 64 2d 47 |h-slots |(saved-G| |00001840| 57 2d 76 69 65 77 20 69 | 6d 61 67 65 2d 47 57 2d |W-view i|mage-GW-| |00001850| 76 69 65 77 20 73 63 72 | 61 70 2d 47 57 2d 76 69 |view scr|ap-GW-vi| |00001860| 65 77 29 20 73 33 62 0d | 20 20 20 20 28 6c 65 74 |ew) s3b.| (let| |00001870| 20 28 28 6f 6c 64 2d 70 | 6f 73 20 28 73 33 62 75 | ((old-p|os (s3bu| |00001880| 66 2d 70 6f 73 69 74 69 | 6f 6e 20 73 33 62 29 29 |f-positi|on s3b))| |00001890| 29 0d 20 20 20 20 20 20 | 28 64 65 63 6c 61 72 65 |). |(declare| |000018a0| 20 28 64 79 6e 61 6d 69 | 63 2d 65 78 74 65 6e 74 | (dynami|c-extent| |000018b0| 20 6f 6c 64 2d 70 6f 73 | 29 29 0d 20 20 20 20 28 | old-pos|)). (| |000018c0| 72 6c 65 74 20 28 28 6f | 6c 64 2d 72 20 20 3a 52 |rlet ((o|ld-r :R| |000018d0| 65 63 74 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |ect. | | |000018e0| 20 20 20 20 20 20 20 3a | 74 6f 70 4c 65 66 74 20 | :|topLeft | |000018f0| 20 6f 6c 64 2d 70 6f 73 | 0d 20 20 20 20 20 20 20 | old-pos|. | |00001900| 20 20 20 20 20 20 20 20 | 20 20 20 20 3a 62 6f 74 | | :bot| |00001910| 52 69 67 68 74 20 28 61 | 64 64 2d 70 6f 69 6e 74 |Right (a|dd-point| |00001920| 73 20 6f 6c 64 2d 70 6f | 73 20 28 73 33 62 75 66 |s old-po|s (s3buf| |00001930| 2d 73 69 7a 65 20 73 33 | 62 29 29 29 0d 20 20 20 |-size s3|b))). | |00001940| 20 20 20 20 20 20 20 20 | 28 6e 65 77 2d 72 20 20 | |(new-r | |00001950| 3a 52 65 63 74 0d 20 20 | 20 20 20 20 20 20 20 20 |:Rect. | | |00001960| 20 20 20 20 20 20 20 20 | 20 3a 74 6f 70 4c 65 66 | | :topLef| |00001970| 74 20 20 74 6f 70 4c 65 | 66 74 0d 20 20 20 20 20 |t topLe|ft. | |00001980| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3a 62 | | :b| |00001990| 6f 74 52 69 67 68 74 20 | 62 6f 74 52 69 67 68 74 |otRight |botRight| |000019a0| 29 29 0d 0d 20 20 20 20 | 20 20 28 73 65 74 66 20 |)).. | (setf | |000019b0| 28 73 6c 6f 74 2d 76 61 | 6c 75 65 20 73 33 62 20 |(slot-va|lue s3b | |000019c0| 27 73 33 62 75 66 2d 70 | 6f 73 69 74 69 6f 6e 29 |'s3buf-p|osition)| |000019d0| 20 74 6f 70 4c 65 66 74 | 29 0d 20 20 20 20 20 20 | topLeft|). | |000019e0| 28 73 65 74 66 20 28 73 | 6c 6f 74 2d 76 61 6c 75 |(setf (s|lot-valu| |000019f0| 65 20 73 33 62 20 27 73 | 33 62 75 66 2d 73 69 7a |e s3b 's|3buf-siz| |00001a00| 65 29 20 28 73 75 62 74 | 72 61 63 74 2d 70 6f 69 |e) (subt|ract-poi| |00001a10| 6e 74 73 20 62 6f 74 52 | 69 67 68 74 20 74 6f 70 |nts botR|ight top| |00001a20| 4c 65 66 74 29 29 0d 0d | 20 20 20 20 20 20 3b 3b |Left))..| ;;| |00001a30| 67 65 74 20 74 68 65 20 | 73 63 72 61 70 20 47 57 |get the |scrap GW| |00001a40| 6f 72 6c 64 20 72 65 61 | 64 79 20 74 6f 20 75 73 |orld rea|dy to us| |00001a50| 65 0d 20 20 20 20 20 20 | 28 23 5f 4e 6f 50 75 72 |e. |(#_NoPur| |00001a60| 67 65 50 69 78 65 6c 73 | 20 28 23 5f 47 65 74 47 |gePixels| (#_GetG| |00001a70| 57 6f 72 6c 64 50 69 78 | 4d 61 70 20 28 47 57 6f |WorldPix|Map (GWo| |00001a80| 72 6c 64 20 73 63 72 61 | 70 2d 47 57 2d 76 69 65 |rld scra|p-GW-vie| |00001a90| 77 29 29 29 0d 20 20 20 | 20 20 20 28 47 57 6f 72 |w))). | (GWor| |00001aa0| 6c 64 2d 73 65 74 2d 70 | 6f 72 74 52 65 63 74 20 |ld-set-p|ortRect | |00001ab0| 73 63 72 61 70 2d 47 57 | 2d 76 69 65 77 20 6f 6c |scrap-GW|-view ol| |00001ac0| 64 2d 72 29 0d 20 20 20 | 20 20 20 0d 20 20 20 20 |d-r). | . | |00001ad0| 20 20 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 0d 20 20 | ;;;;;;|;;;;;. | |00001ae0| 20 20 20 20 3b 3b 73 61 | 76 65 64 20 62 69 74 73 | ;;sa|ved bits| |00001af0| 0d 20 20 20 20 20 20 28 | 65 63 61 73 65 20 73 61 |. (|ecase sa| |00001b00| 76 65 64 2d 78 66 65 72 | 2d 6d 6f 64 65 0d 20 20 |ved-xfer|-mode. | |00001b10| 20 20 20 20 20 20 28 3a | 6e 6f 6e 65 20 29 0d 20 | (:|none ). | |00001b20| 20 20 20 20 20 20 20 28 | 3a 73 6c 69 70 20 28 73 | (|:slip (s| |00001b30| 33 62 75 66 2d 73 6c 69 | 70 2d 47 57 20 73 61 76 |3buf-sli|p-GW sav| |00001b40| 65 64 2d 47 57 2d 76 69 | 65 77 20 73 63 72 61 70 |ed-GW-vi|ew scrap| |00001b50| 2d 47 57 2d 76 69 65 77 | 20 6f 6c 64 2d 72 20 6e |-GW-view| old-r n| |00001b60| 65 77 2d 72 29 29 0d 20 | 20 20 20 20 20 20 20 28 |ew-r)). | (| |00001b70| 3a 6d 6f 76 65 20 28 73 | 33 62 75 66 2d 6d 6f 76 |:move (s|3buf-mov| |00001b80| 65 2d 47 57 20 73 61 76 | 65 64 2d 47 57 2d 76 69 |e-GW sav|ed-GW-vi| |00001b90| 65 77 20 73 63 72 61 70 | 2d 47 57 2d 76 69 65 77 |ew scrap|-GW-view| |00001ba0| 20 6f 6c 64 2d 72 20 6e | 65 77 2d 72 29 29 29 0d | old-r n|ew-r))).| |00001bb0| 20 20 20 20 20 20 0d 20 | 20 20 20 20 20 28 77 68 | . | (wh| |00001bc0| 65 6e 20 72 65 73 74 6f | 72 65 2d 6f 6c 64 2d 72 |en resto|re-old-r| |00001bd0| 67 6e 2d 70 0d 20 20 20 | 20 20 20 20 20 28 77 69 |gn-p. | (wi| |00001be0| 74 68 2d 6d 61 63 70 74 | 72 73 20 28 28 6f 6c 64 |th-macpt|rs ((old| |00001bf0| 2d 72 67 6e 20 20 20 20 | 28 23 5f 4e 65 77 52 67 |-rgn |(#_NewRg| |00001c00| 6e 29 29 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |n)). | | |00001c10| 20 20 20 20 20 20 20 20 | 20 20 20 28 71 75 61 79 | | (quay| |00001c20| 6c 65 2d 72 67 6e 20 28 | 23 5f 4e 65 77 52 67 6e |le-rgn (|#_NewRgn| |00001c30| 29 29 29 0d 20 20 20 20 | 20 20 20 20 20 20 28 75 |))). | (u| |00001c40| 6e 77 69 6e 64 2d 70 72 | 6f 74 65 63 74 0d 20 20 |nwind-pr|otect. | |00001c50| 20 20 20 20 20 20 20 20 | 20 20 28 77 69 74 68 2d | | (with-| |00001c60| 6c 6f 63 6b 65 64 2d 47 | 57 6f 72 6c 64 2d 76 69 |locked-G|World-vi| |00001c70| 65 77 20 73 63 72 61 70 | 2d 47 57 2d 76 69 65 77 |ew scrap|-GW-view| |00001c80| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 28 |. | (| |00001c90| 77 69 74 68 2d 66 6f 63 | 75 73 65 64 2d 76 69 65 |with-foc|used-vie| |00001ca0| 77 20 2a 57 4d 47 72 2d | 76 69 65 77 2a 0d 20 20 |w *WMGr-|view*. | |00001cb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 23 | | (#| |00001cc0| 5f 52 65 63 74 52 67 6e | 20 71 75 61 79 6c 65 2d |_RectRgn| quayle-| |00001cd0| 72 67 6e 20 6e 65 77 2d | 72 29 0d 20 20 20 20 20 |rgn new-|r). | |00001ce0| 20 20 20 20 20 20 20 20 | 20 20 20 28 23 5f 52 65 | | (#_Re| |00001cf0| 63 74 52 67 6e 20 6f 6c | 64 2d 72 67 6e 20 6f 6c |ctRgn ol|d-rgn ol| |00001d00| 64 2d 72 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |d-r). | | |00001d10| 20 20 20 20 20 28 23 5f | 44 69 66 66 52 67 6e 20 | (#_|DiffRgn | |00001d20| 6f 6c 64 2d 72 67 6e 20 | 71 75 61 79 6c 65 2d 72 |old-rgn |quayle-r| |00001d30| 67 6e 20 6f 6c 64 2d 72 | 67 6e 29 0d 20 20 20 20 |gn old-r|gn). | |00001d40| 20 20 20 20 20 20 20 20 | 20 20 20 20 28 23 5f 43 | | (#_C| |00001d50| 6f 70 79 42 69 74 73 20 | 28 76 69 65 77 2d 70 6f |opyBits |(view-po| |00001d60| 72 74 42 69 74 73 20 73 | 63 72 61 70 2d 47 57 2d |rtBits s|crap-GW-| |00001d70| 76 69 65 77 29 20 28 76 | 69 65 77 2d 70 6f 72 74 |view) (v|iew-port| |00001d80| 42 69 74 73 20 2a 57 4d | 47 72 2d 76 69 65 77 2a |Bits *WM|Gr-view*| |00001d90| 29 20 6f 6c 64 2d 72 20 | 6f 6c 64 2d 72 20 23 24 |) old-r |old-r #$| |00001da0| 73 72 63 43 6f 70 79 20 | 6f 6c 64 2d 72 67 6e 29 |srcCopy |old-rgn)| |00001db0| 29 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 28 |)). | (| |00001dc0| 23 5f 44 69 73 70 6f 73 | 65 52 67 6e 20 6f 6c 64 |#_Dispos|eRgn old| |00001dd0| 2d 72 67 6e 29 0d 20 20 | 20 20 20 20 20 20 20 20 |-rgn). | | |00001de0| 20 20 28 23 5f 44 69 73 | 70 6f 73 65 52 67 6e 20 | (#_Dis|poseRgn | |00001df0| 71 75 61 79 6c 65 2d 72 | 67 6e 29 29 29 29 0d 20 |quayle-r|gn)))). | |00001e00| 20 20 20 20 20 0d 20 20 | 20 20 20 20 0d 20 20 20 | . | . | |00001e10| 20 20 20 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 0d 20 | ;;;;;|;;;;;;. | |00001e20| 20 20 20 20 20 3b 3b 69 | 6d 61 67 65 20 62 69 74 | ;;i|mage bit| |00001e30| 73 0d 20 20 20 20 20 20 | 28 65 63 61 73 65 20 69 |s. |(ecase i| |00001e40| 6d 61 67 65 2d 78 66 65 | 72 2d 6d 6f 64 65 0d 20 |mage-xfe|r-mode. | |00001e50| 20 20 20 20 20 20 20 28 | 3a 6e 6f 6e 65 20 29 0d | (|:none ).| |00001e60| 20 20 20 20 20 20 20 20 | 28 3a 73 6c 69 70 20 28 | |(:slip (| |00001e70| 73 33 62 75 66 2d 73 6c | 69 70 2d 47 57 20 69 6d |s3buf-sl|ip-GW im| |00001e80| 61 67 65 2d 47 57 2d 76 | 69 65 77 20 73 63 72 61 |age-GW-v|iew scra| |00001e90| 70 2d 47 57 2d 76 69 65 | 77 20 6f 6c 64 2d 72 20 |p-GW-vie|w old-r | |00001ea0| 6e 65 77 2d 72 29 29 0d | 20 20 20 20 20 20 20 20 |new-r)).| | |00001eb0| 28 3a 6d 6f 76 65 0d 20 | 20 20 20 20 20 20 20 20 |(:move. | | |00001ec0| 28 72 6c 65 74 20 28 28 | 6f 6c 64 2d 69 6d 61 67 |(rlet ((|old-imag| |00001ed0| 65 2d 72 20 3a 52 65 63 | 74 29 0d 20 20 20 20 20 |e-r :Rec|t). | |00001ee0| 20 20 20 20 20 20 20 20 | 20 20 20 28 6e 65 77 2d | | (new-| |00001ef0| 69 6d 61 67 65 2d 72 20 | 3a 52 65 63 74 29 29 0d |image-r |:Rect)).| |00001f00| 20 20 20 20 20 20 20 20 | 20 20 20 0d 20 20 20 20 | | . | |00001f10| 20 20 20 20 20 20 20 3b | 3b 70 72 65 70 61 72 65 | ;|;prepare| |00001f20| 20 74 68 65 20 63 6f 70 | 79 20 72 65 63 74 73 20 | the cop|y rects | |00001f30| 61 6e 64 20 72 65 67 69 | 6f 6e 73 0d 20 20 20 20 |and regi|ons. | |00001f40| 20 20 20 20 20 20 20 28 | 69 66 20 28 68 61 6e 64 | (|if (hand| |00001f50| 6c 65 70 20 69 6d 61 67 | 65 2d 73 75 62 2d 72 67 |lep imag|e-sub-rg| |00001f60| 6e 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |n). | | |00001f70| 28 6c 65 74 20 28 28 64 | 65 6c 74 61 20 28 69 66 |(let ((d|elta (if| |00001f80| 20 73 75 62 2d 72 67 6e | 2d 6e 65 77 2d 70 6f 73 | sub-rgn|-new-pos| |00001f90| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | | |00001fa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 28 73 75 | | (su| |00001fb0| 62 74 72 61 63 74 2d 70 | 6f 69 6e 74 73 20 73 75 |btract-p|oints su| |00001fc0| 62 2d 72 67 6e 2d 6e 65 | 77 2d 70 6f 73 20 28 68 |b-rgn-ne|w-pos (h| |00001fd0| 72 65 66 20 69 6d 61 67 | 65 2d 73 75 62 2d 72 67 |ref imag|e-sub-rg| |00001fe0| 6e 20 3a 52 65 67 69 6f | 6e 2e 72 67 6e 42 42 6f |n :Regio|n.rgnBBo| |00001ff0| 78 2e 74 6f 70 4c 65 66 | 74 29 29 0d 20 20 20 20 |x.topLef|t)). | |00002000| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00002010| 20 20 20 20 20 20 20 20 | 28 73 75 62 74 72 61 63 | |(subtrac| |00002020| 74 2d 70 6f 69 6e 74 73 | 20 74 6f 70 4c 65 66 74 |t-points| topLeft| |00002030| 20 6f 6c 64 2d 70 6f 73 | 29 29 29 29 0d 20 20 20 | old-pos|)))). | |00002040| 20 20 20 20 20 20 20 20 | 20 20 20 20 28 64 65 63 | | (dec| |00002050| 6c 61 72 65 20 28 64 79 | 6e 61 6d 69 63 2d 65 78 |lare (dy|namic-ex| |00002060| 74 65 6e 74 20 64 65 6c | 74 61 29 29 0d 20 20 20 |tent del|ta)). | |00002070| 20 20 20 20 20 20 20 20 | 20 20 20 20 28 70 73 65 | | (pse| |00002080| 74 20 6f 6c 64 2d 69 6d | 61 67 65 2d 72 20 3a 52 |t old-im|age-r :R| |00002090| 65 63 74 2e 74 6f 70 4c | 65 66 74 20 20 28 68 72 |ect.topL|eft (hr| |000020a0| 65 66 20 69 6d 61 67 65 | 2d 73 75 62 2d 72 67 6e |ef image|-sub-rgn| |000020b0| 20 3a 52 65 67 69 6f 6e | 2e 72 67 6e 42 42 6f 78 | :Region|.rgnBBox| |000020c0| 2e 74 6f 70 4c 65 66 74 | 29 29 0d 20 20 20 20 20 |.topLeft|)). | |000020d0| 20 20 20 20 20 20 20 20 | 20 20 28 70 73 65 74 20 | | (pset | |000020e0| 6f 6c 64 2d 69 6d 61 67 | 65 2d 72 20 3a 52 65 63 |old-imag|e-r :Rec| |000020f0| 74 2e 62 6f 74 52 69 67 | 68 74 20 28 68 72 65 66 |t.botRig|ht (href| |00002100| 20 69 6d 61 67 65 2d 73 | 75 62 2d 72 67 6e 20 3a | image-s|ub-rgn :| |00002110| 52 65 67 69 6f 6e 2e 72 | 67 6e 42 42 6f 78 2e 62 |Region.r|gnBBox.b| |00002120| 6f 74 52 69 67 68 74 29 | 29 0d 20 20 20 20 20 20 |otRight)|). | |00002130| 20 20 20 20 20 20 20 20 | 20 28 23 5f 4f 66 66 73 | | (#_Offs| |00002140| 65 74 52 67 6e 20 3a 70 | 6f 69 6e 74 65 72 20 69 |etRgn :p|ointer i| |00002150| 6d 61 67 65 2d 73 75 62 | 2d 72 67 6e 20 3a 6c 6f |mage-sub|-rgn :lo| |00002160| 6e 67 20 64 65 6c 74 61 | 29 0d 20 20 20 20 20 20 |ng delta|). | |00002170| 20 20 20 20 20 20 20 20 | 20 28 70 73 65 74 20 6e | | (pset n| |00002180| 65 77 2d 69 6d 61 67 65 | 2d 72 20 3a 52 65 63 74 |ew-image|-r :Rect| |00002190| 2e 74 6f 70 4c 65 66 74 | 20 20 28 68 72 65 66 20 |.topLeft| (href | |000021a0| 69 6d 61 67 65 2d 73 75 | 62 2d 72 67 6e 20 3a 52 |image-su|b-rgn :R| |000021b0| 65 67 69 6f 6e 2e 72 67 | 6e 42 42 6f 78 2e 74 6f |egion.rg|nBBox.to| |000021c0| 70 4c 65 66 74 29 29 0d | 20 20 20 20 20 20 20 20 |pLeft)).| | |000021d0| 20 20 20 20 20 20 20 28 | 70 73 65 74 20 6e 65 77 | (|pset new| |000021e0| 2d 69 6d 61 67 65 2d 72 | 20 3a 52 65 63 74 2e 62 |-image-r| :Rect.b| |000021f0| 6f 74 52 69 67 68 74 20 | 28 68 72 65 66 20 69 6d |otRight |(href im| |00002200| 61 67 65 2d 73 75 62 2d | 72 67 6e 20 3a 52 65 67 |age-sub-|rgn :Reg| |00002210| 69 6f 6e 2e 72 67 6e 42 | 42 6f 78 2e 62 6f 74 52 |ion.rgnB|Box.botR| |00002220| 69 67 68 74 29 29 29 0d | 20 20 20 20 20 20 20 20 |ight))).| | |00002230| 20 20 20 20 20 28 6c 65 | 74 20 28 28 64 65 6c 74 | (le|t ((delt| |00002240| 61 20 28 73 75 62 74 72 | 61 63 74 2d 70 6f 69 6e |a (subtr|act-poin| |00002250| 74 73 20 74 6f 70 4c 65 | 66 74 20 6f 6c 64 2d 70 |ts topLe|ft old-p| |00002260| 6f 73 29 29 29 0d 20 20 | 20 20 20 20 20 20 20 20 |os))). | | |00002270| 20 20 20 20 20 28 64 65 | 63 6c 61 72 65 20 28 64 | (de|clare (d| |00002280| 79 6e 61 6d 69 63 2d 65 | 78 74 65 6e 74 20 64 65 |ynamic-e|xtent de| |00002290| 6c 74 61 29 29 0d 20 20 | 20 20 20 20 20 20 20 20 |lta)). | | |000022a0| 20 20 20 20 20 28 70 73 | 65 74 20 6f 6c 64 2d 69 | (ps|et old-i| |000022b0| 6d 61 67 65 2d 72 20 3a | 52 65 63 74 20 6f 6c 64 |mage-r :|Rect old| |000022c0| 2d 72 29 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |-r). | | |000022d0| 20 20 20 28 70 73 65 74 | 20 6e 65 77 2d 69 6d 61 | (pset| new-ima| |000022e0| 67 65 2d 72 20 3a 52 65 | 63 74 20 6f 6c 64 2d 72 |ge-r :Re|ct old-r| |000022f0| 29 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |). | | |00002300| 20 28 23 5f 4f 66 66 73 | 65 74 52 65 63 74 20 3a | (#_Offs|etRect :| |00002310| 70 6f 69 6e 74 65 72 20 | 6e 65 77 2d 69 6d 61 67 |pointer |new-imag| |00002320| 65 2d 72 20 3a 6c 6f 6e | 67 20 64 65 6c 74 61 29 |e-r :lon|g delta)| |00002330| 29 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 0d 20 |)). | . | |00002340| 20 20 20 20 20 20 20 20 | 20 20 28 73 33 62 75 66 | | (s3buf| |00002350| 2d 64 75 70 2d 61 6e 64 | 2d 72 65 73 69 7a 65 20 |-dup-and|-resize | |00002360| 69 6d 61 67 65 2d 47 57 | 2d 76 69 65 77 20 73 63 |image-GW|-view sc| |00002370| 72 61 70 2d 47 57 2d 76 | 69 65 77 20 6f 6c 64 2d |rap-GW-v|iew old-| |00002380| 72 20 6e 65 77 2d 72 29 | 0d 20 20 20 20 20 20 20 |r new-r)|. | |00002390| 20 20 20 20 28 73 33 62 | 75 66 2d 73 61 76 65 64 | (s3b|uf-saved| |000023a0| 2d 74 6f 2d 69 6d 61 67 | 65 20 73 33 62 29 0d 20 |-to-imag|e s3b). | |000023b0| 20 20 20 20 20 20 20 20 | 20 20 28 77 69 74 68 2d | | (with-| |000023c0| 6c 6f 63 6b 65 64 2d 47 | 57 6f 72 6c 64 2d 76 69 |locked-G|World-vi| |000023d0| 65 77 20 73 63 72 61 70 | 2d 47 57 2d 76 69 65 77 |ew scrap|-GW-view| |000023e0| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 77 |. | (w| |000023f0| 69 74 68 2d 66 6f 63 75 | 73 65 64 2d 76 69 65 77 |ith-focu|sed-view| |00002400| 20 69 6d 61 67 65 2d 47 | 57 2d 76 69 65 77 0d 20 | image-G|W-view. | |00002410| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 23 | | (#| |00002420| 5f 43 6f 70 79 42 69 74 | 73 20 28 76 69 65 77 2d |_CopyBit|s (view-| |00002430| 70 6f 72 74 42 69 74 73 | 20 73 63 72 61 70 2d 47 |portBits| scrap-G| |00002440| 57 2d 76 69 65 77 29 20 | 28 76 69 65 77 2d 70 6f |W-view) |(view-po| |00002450| 72 74 42 69 74 73 20 69 | 6d 61 67 65 2d 47 57 2d |rtBits i|mage-GW-| |00002460| 76 69 65 77 29 20 6f 6c | 64 2d 69 6d 61 67 65 2d |view) ol|d-image-| |00002470| 72 20 6e 65 77 2d 69 6d | 61 67 65 2d 72 20 23 24 |r new-im|age-r #$| |00002480| 73 72 63 43 6f 70 79 20 | 69 6d 61 67 65 2d 73 75 |srcCopy |image-su| |00002490| 62 2d 72 67 6e 29 29 29 | 29 29 29 29 0d 20 20 20 |b-rgn)))|)))). | |000024a0| 20 0d 20 20 20 20 28 23 | 5f 41 6c 6c 6f 77 50 75 | . (#|_AllowPu| |000024b0| 72 67 65 50 69 78 65 6c | 73 20 28 23 5f 47 65 74 |rgePixel|s (#_Get| |000024c0| 47 57 6f 72 6c 64 50 69 | 78 4d 61 70 20 28 47 57 |GWorldPi|xMap (GW| |000024d0| 6f 72 6c 64 20 73 63 72 | 61 70 2d 47 57 2d 76 69 |orld scr|ap-GW-vi| |000024e0| 65 77 29 29 29 29 29 0d | 0d 20 20 74 29 0d 0d 0d |ew))))).|. t)...| |000024f0| 28 64 65 66 75 6e 20 73 | 33 62 75 66 2d 64 75 70 |(defun s|3buf-dup| |00002500| 2d 61 6e 64 2d 72 65 73 | 69 7a 65 20 28 67 77 2d |-and-res|ize (gw-| |00002510| 76 69 65 77 20 67 77 2d | 76 69 65 77 2d 63 6f 70 |view gw-|view-cop| |00002520| 79 20 6f 6c 64 2d 72 20 | 6e 65 77 2d 72 29 0d 20 |y old-r |new-r). | |00002530| 20 28 77 69 74 68 2d 6c | 6f 63 6b 65 64 2d 47 57 | (with-l|ocked-GW| |00002540| 6f 72 6c 64 2d 76 69 65 | 77 20 67 77 2d 76 69 65 |orld-vie|w gw-vie| |00002550| 77 0d 20 20 20 20 28 77 | 69 74 68 2d 66 6f 63 75 |w. (w|ith-focu| |00002560| 73 65 64 2d 76 69 65 77 | 20 67 77 2d 76 69 65 77 |sed-view| gw-view| |00002570| 2d 63 6f 70 79 0d 20 20 | 20 20 20 20 28 23 5f 43 |-copy. | (#_C| |00002580| 6f 70 79 42 69 74 73 20 | 28 76 69 65 77 2d 70 6f |opyBits |(view-po| |00002590| 72 74 42 69 74 73 20 67 | 77 2d 76 69 65 77 29 20 |rtBits g|w-view) | |000025a0| 28 76 69 65 77 2d 70 6f | 72 74 42 69 74 73 20 67 |(view-po|rtBits g| |000025b0| 77 2d 76 69 65 77 2d 63 | 6f 70 79 29 20 6f 6c 64 |w-view-c|opy) old| |000025c0| 2d 72 20 6f 6c 64 2d 72 | 20 23 24 73 72 63 43 6f |-r old-r| #$srcCo| |000025d0| 70 79 20 28 25 6e 75 6c | 6c 2d 70 74 72 29 29 29 |py (%nul|l-ptr)))| |000025e0| 29 0d 20 20 28 47 57 6f | 72 6c 64 2d 73 65 74 2d |). (GWo|rld-set-| |000025f0| 70 6f 72 74 52 65 63 74 | 20 67 77 2d 76 69 65 77 |portRect| gw-view| |00002600| 20 6e 65 77 2d 72 29 0d | 20 20 74 29 0d 0d 28 64 | new-r).| t)..(d| |00002610| 65 66 75 6e 20 73 33 62 | 75 66 2d 73 6c 69 70 2d |efun s3b|uf-slip-| |00002620| 47 57 20 28 67 77 2d 76 | 69 65 77 20 74 65 6d 70 |GW (gw-v|iew temp| |00002630| 2d 67 77 2d 76 69 65 77 | 20 6f 6c 64 2d 72 20 6e |-gw-view| old-r n| |00002640| 65 77 2d 72 29 0d 20 20 | 0d 20 20 28 73 33 62 75 |ew-r). |. (s3bu| |00002650| 66 2d 64 75 70 2d 61 6e | 64 2d 72 65 73 69 7a 65 |f-dup-an|d-resize| |00002660| 20 67 77 2d 76 69 65 77 | 20 74 65 6d 70 2d 67 77 | gw-view| temp-gw| |00002670| 2d 76 69 65 77 20 6f 6c | 64 2d 72 20 6e 65 77 2d |-view ol|d-r new-| |00002680| 72 29 0d 20 20 0d 20 20 | 28 72 6c 65 74 20 28 28 |r). . |(rlet ((| |00002690| 73 65 63 74 2d 72 20 3a | 52 65 63 74 29 29 0d 20 |sect-r :|Rect)). | |000026a0| 20 20 20 28 23 5f 53 65 | 63 74 52 65 63 74 20 6f | (#_Se|ctRect o| |000026b0| 6c 64 2d 72 20 6e 65 77 | 2d 72 20 73 65 63 74 2d |ld-r new|-r sect-| |000026c0| 72 29 0d 20 20 20 20 0d | 20 20 20 20 28 77 69 74 |r). .| (wit| |000026d0| 68 2d 6c 6f 63 6b 65 64 | 2d 47 57 6f 72 6c 64 2d |h-locked|-GWorld-| |000026e0| 76 69 65 77 20 74 65 6d | 70 2d 67 77 2d 76 69 65 |view tem|p-gw-vie| |000026f0| 77 0d 20 20 20 20 20 20 | 28 77 69 74 68 2d 66 6f |w. |(with-fo| |00002700| 63 75 73 65 64 2d 76 69 | 65 77 20 67 77 2d 76 69 |cused-vi|ew gw-vi| |00002710| 65 77 0d 20 20 20 20 20 | 20 20 20 0d 20 20 20 20 |ew. | . | |00002720| 20 20 20 20 3b 3b 63 6f | 70 79 20 66 72 65 73 68 | ;;co|py fresh| |00002730| 20 62 69 74 73 20 69 6e | 20 66 72 6f 6d 20 74 68 | bits in| from th| |00002740| 65 20 73 63 72 65 65 6e | 0d 20 20 20 20 20 20 20 |e screen|. | |00002750| 20 28 23 5f 43 6f 70 79 | 42 69 74 73 20 28 76 69 | (#_Copy|Bits (vi| |00002760| 65 77 2d 70 6f 72 74 42 | 69 74 73 20 2a 57 4d 47 |ew-portB|its *WMG| |00002770| 72 2d 76 69 65 77 2a 29 | 20 28 76 69 65 77 2d 70 |r-view*)| (view-p| |00002780| 6f 72 74 42 69 74 73 20 | 67 77 2d 76 69 65 77 29 |ortBits |gw-view)| |00002790| 20 6e 65 77 2d 72 20 6e | 65 77 2d 72 20 23 24 73 | new-r n|ew-r #$s| |000027a0| 72 63 43 6f 70 79 20 28 | 25 6e 75 6c 6c 2d 70 74 |rcCopy (|%null-pt| |000027b0| 72 29 29 0d 20 20 20 20 | 20 20 20 20 0d 20 20 20 |r)). | . | |000027c0| 20 20 20 20 20 3b 3b 63 | 6f 70 79 20 6f 76 65 72 | ;;c|opy over| |000027d0| 6c 61 70 70 69 6e 67 2f | 72 65 75 73 61 62 6c 65 |lapping/|reusable| |000027e0| 20 62 69 74 73 0d 20 20 | 20 20 20 20 20 20 28 23 | bits. | (#| |000027f0| 5f 43 6f 70 79 42 69 74 | 73 20 28 76 69 65 77 2d |_CopyBit|s (view-| |00002800| 70 6f 72 74 42 69 74 73 | 20 74 65 6d 70 2d 67 77 |portBits| temp-gw| |00002810| 2d 76 69 65 77 29 20 28 | 76 69 65 77 2d 70 6f 72 |-view) (|view-por| |00002820| 74 42 69 74 73 20 67 77 | 2d 76 69 65 77 29 20 73 |tBits gw|-view) s| |00002830| 65 63 74 2d 72 20 73 65 | 63 74 2d 72 20 23 24 73 |ect-r se|ct-r #$s| |00002840| 72 63 43 6f 70 79 20 28 | 25 6e 75 6c 6c 2d 70 74 |rcCopy (|%null-pt| |00002850| 72 29 29 29 29 29 0d 20 | 20 74 29 0d 0d 0d 28 64 |r))))). | t)...(d| |00002860| 65 66 75 6e 20 73 33 62 | 75 66 2d 6d 6f 76 65 2d |efun s3b|uf-move-| |00002870| 47 57 20 28 67 77 2d 76 | 69 65 77 20 74 65 6d 70 |GW (gw-v|iew temp| |00002880| 2d 67 77 2d 76 69 65 77 | 20 6f 6c 64 2d 72 20 6e |-gw-view| old-r n| |00002890| 65 77 2d 72 29 0d 20 20 | 0d 20 20 28 73 33 62 75 |ew-r). |. (s3bu| |000028a0| 66 2d 64 75 70 2d 61 6e | 64 2d 72 65 73 69 7a 65 |f-dup-an|d-resize| |000028b0| 20 67 77 2d 76 69 65 77 | 20 74 65 6d 70 2d 67 77 | gw-view| temp-gw| |000028c0| 2d 76 69 65 77 20 6f 6c | 64 2d 72 20 6e 65 77 2d |-view ol|d-r new-| |000028d0| 72 29 0d 20 20 0d 20 20 | 28 72 6c 65 74 20 28 28 |r). . |(rlet ((| |000028e0| 72 20 3a 52 65 63 74 29 | 29 0d 20 20 20 20 28 70 |r :Rect)|). (p| |000028f0| 73 65 74 20 72 20 3a 52 | 65 63 74 20 6f 6c 64 2d |set r :R|ect old-| |00002900| 72 29 0d 20 20 20 20 28 | 6c 65 74 20 28 28 64 65 |r). (|let ((de| |00002910| 6c 74 61 20 28 73 75 62 | 74 72 61 63 74 2d 70 6f |lta (sub|tract-po| |00002920| 69 6e 74 73 20 28 70 72 | 65 66 20 6e 65 77 2d 72 |ints (pr|ef new-r| |00002930| 20 3a 52 65 63 74 2e 74 | 6f 70 4c 65 66 74 29 20 | :Rect.t|opLeft) | |00002940| 28 70 72 65 66 20 6f 6c | 64 2d 72 20 3a 52 65 63 |(pref ol|d-r :Rec| |00002950| 74 2e 74 6f 70 4c 65 66 | 74 29 29 29 29 0d 20 20 |t.topLef|t)))). | |00002960| 20 20 20 20 28 64 65 63 | 6c 61 72 65 20 28 64 79 | (dec|lare (dy| |00002970| 6e 61 6d 69 63 2d 65 78 | 74 65 6e 74 20 64 65 6c |namic-ex|tent del| |00002980| 74 61 29 29 0d 20 20 20 | 20 20 20 28 23 5f 4f 66 |ta)). | (#_Of| |00002990| 66 73 65 74 52 65 63 74 | 20 3a 70 6f 69 6e 74 65 |fsetRect| :pointe| |000029a0| 72 20 72 20 3a 6c 6f 6e | 67 20 64 65 6c 74 61 29 |r r :lon|g delta)| |000029b0| 29 0d 20 20 20 20 0d 20 | 20 20 20 28 77 69 74 68 |). . | (with| |000029c0| 2d 6c 6f 63 6b 65 64 2d | 47 57 6f 72 6c 64 2d 76 |-locked-|GWorld-v| |000029d0| 69 65 77 20 74 65 6d 70 | 2d 67 77 2d 76 69 65 77 |iew temp|-gw-view| |000029e0| 0d 20 20 20 20 20 20 28 | 77 69 74 68 2d 66 6f 63 |. (|with-foc| |000029f0| 75 73 65 64 2d 76 69 65 | 77 20 67 77 2d 76 69 65 |used-vie|w gw-vie| |00002a00| 77 0d 20 20 20 20 20 20 | 20 20 0d 20 20 20 20 20 |w. | . | |00002a10| 20 20 20 3b 3b 63 6f 70 | 79 20 66 72 65 73 68 20 | ;;cop|y fresh | |00002a20| 62 69 74 73 20 69 6e 20 | 66 72 6f 6d 20 74 68 65 |bits in |from the| |00002a30| 20 73 63 72 65 65 6e 0d | 20 20 20 20 20 20 20 20 | screen.| | |00002a40| 28 23 5f 43 6f 70 79 42 | 69 74 73 20 28 76 69 65 |(#_CopyB|its (vie| |00002a50| 77 2d 70 6f 72 74 42 69 | 74 73 20 2a 57 4d 47 72 |w-portBi|ts *WMGr| |00002a60| 2d 76 69 65 77 2a 29 20 | 28 76 69 65 77 2d 70 6f |-view*) |(view-po| |00002a70| 72 74 42 69 74 73 20 67 | 77 2d 76 69 65 77 29 20 |rtBits g|w-view) | |00002a80| 6e 65 77 2d 72 20 6e 65 | 77 2d 72 20 23 24 73 72 |new-r ne|w-r #$sr| |00002a90| 63 43 6f 70 79 20 28 25 | 6e 75 6c 6c 2d 70 74 72 |cCopy (%|null-ptr| |00002aa0| 29 29 0d 20 20 20 20 20 | 20 20 20 0d 20 20 20 20 |)). | . | |00002ab0| 20 20 20 20 3b 3b 63 6f | 70 79 20 6f 76 65 72 6c | ;;co|py overl| |00002ac0| 61 70 70 69 6e 67 2f 72 | 65 75 73 61 62 6c 65 20 |apping/r|eusable | |00002ad0| 62 69 74 73 0d 20 20 20 | 20 20 20 20 20 28 23 5f |bits. | (#_| |00002ae0| 43 6f 70 79 42 69 74 73 | 20 28 76 69 65 77 2d 70 |CopyBits| (view-p| |00002af0| 6f 72 74 42 69 74 73 20 | 74 65 6d 70 2d 67 77 2d |ortBits |temp-gw-| |00002b00| 76 69 65 77 29 20 28 76 | 69 65 77 2d 70 6f 72 74 |view) (v|iew-port| |00002b10| 42 69 74 73 20 67 77 2d | 76 69 65 77 29 20 6f 6c |Bits gw-|view) ol| |00002b20| 64 2d 72 20 72 20 23 24 | 73 72 63 43 6f 70 79 20 |d-r r #$|srcCopy | |00002b30| 28 25 6e 75 6c 6c 2d 70 | 74 72 29 29 29 29 29 0d |(%null-p|tr))))).| |00002b40| 20 20 74 29 0d 0d 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b | t)..;;|;;;;;;;;| |00002b50| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00002b60| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00002b70| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |00002b80| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 0d 0d 28 64 |;;;;;;;;|;;;;..(d| |00002b90| 65 66 75 6e 20 65 72 61 | 73 65 2d 73 63 72 65 65 |efun era|se-scree| |00002ba0| 6e 2d 62 75 66 2d 67 57 | 6f 72 6c 64 20 28 67 77 |n-buf-gW|orld (gw| |00002bb0| 2d 76 69 65 77 20 26 6b | 65 79 20 28 72 65 67 69 |-view &k|ey (regi| |00002bc0| 6f 6e 20 6e 69 6c 29 20 | 28 72 65 63 74 20 6e 69 |on nil) |(rect ni| |00002bd0| 6c 29 29 0d 20 20 3b 3b | 65 72 61 73 65 73 20 74 |l)). ;;|erases t| |00002be0| 68 65 20 73 70 65 63 69 | 66 69 65 64 20 72 65 67 |he speci|fied reg| |00002bf0| 69 6f 6e 20 6f 72 20 72 | 65 63 74 61 6e 67 6c 65 |ion or r|ectangle| |00002c00| 20 6f 66 20 61 20 47 57 | 6f 72 6c 64 20 76 69 65 | of a GW|orld vie| |00002c10| 77 20 75 73 69 6e 67 20 | 74 68 65 20 62 61 63 6b |w using |the back| |00002c20| 67 72 6f 75 6e 64 0d 20 | 20 3b 3b 70 61 74 74 65 |ground. | ;;patte| |00002c30| 72 6e 20 28 69 6e 63 6c | 75 64 69 6e 67 20 70 61 |rn (incl|uding pa| |00002c40| 74 74 65 72 6e 20 61 6c | 69 67 6e 6d 65 6e 74 29 |ttern al|ignment)| |00002c50| 20 61 6e 64 20 62 61 63 | 6b 2f 66 6f 72 65 20 63 | and bac|k/fore c| |00002c60| 6f 6c 6f 72 73 20 6f 66 | 20 74 68 65 20 63 75 72 |olors of| the cur| |00002c70| 72 65 6e 74 20 70 6f 72 | 74 2e 0d 20 20 28 77 69 |rent por|t.. (wi| |00002c80| 74 68 2d 6d 61 63 70 74 | 72 73 20 28 28 63 75 72 |th-macpt|rs ((cur| |00002c90| 2d 70 6f 72 74 20 28 25 | 67 65 74 70 6f 72 74 29 |-port (%|getport)| |00002ca0| 29 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |). | | |00002cb0| 20 20 20 28 72 67 6e 20 | 20 28 69 66 20 28 68 61 | (rgn | (if (ha| |00002cc0| 6e 64 6c 65 70 20 72 65 | 67 69 6f 6e 29 20 72 65 |ndlep re|gion) re| |00002cd0| 67 69 6f 6e 20 28 23 5f | 4e 65 77 52 67 6e 29 29 |gion (#_|NewRgn))| |00002ce0| 29 29 0d 20 20 20 20 28 | 75 6e 77 69 6e 64 2d 70 |)). (|unwind-p| |00002cf0| 72 6f 74 65 63 74 0d 20 | 20 20 20 20 20 28 72 6c |rotect. | (rl| |00002d00| 65 74 20 28 28 72 67 62 | 2d 66 6f 72 65 20 3a 52 |et ((rgb|-fore :R| |00002d10| 47 42 43 6f 6c 6f 72 29 | 0d 20 20 20 20 20 20 20 |GBColor)|. | |00002d20| 20 20 20 20 20 20 28 72 | 67 62 2d 62 61 63 6b 20 | (r|gb-back | |00002d30| 3a 52 47 42 43 6f 6c 6f | 72 29 29 0d 20 20 20 20 |:RGBColo|r)). | |00002d40| 20 20 20 20 28 23 5f 47 | 65 74 46 6f 72 65 43 6f | (#_G|etForeCo| |00002d50| 6c 6f 72 20 72 67 62 2d | 66 6f 72 65 29 0d 20 20 |lor rgb-|fore). | |00002d60| 20 20 20 20 20 20 28 23 | 5f 47 65 74 42 61 63 6b | (#|_GetBack| |00002d70| 43 6f 6c 6f 72 20 72 67 | 62 2d 62 61 63 6b 29 0d |Color rg|b-back).| |00002d80| 20 20 20 20 20 20 20 20 | 28 75 6e 6c 65 73 73 20 | |(unless | |00002d90| 28 68 61 6e 64 6c 65 70 | 20 72 65 67 69 6f 6e 29 |(handlep| region)| |00002da0| 0d 20 20 20 20 20 20 20 | 20 20 20 28 23 5f 52 65 |. | (#_Re| |00002db0| 63 74 52 67 6e 20 72 67 | 6e 20 28 69 66 20 28 70 |ctRgn rg|n (if (p| |00002dc0| 6f 69 6e 74 65 72 70 20 | 72 65 63 74 29 20 72 65 |ointerp |rect) re| |00002dd0| 63 74 20 28 70 72 65 66 | 20 28 47 57 6f 72 6c 64 |ct (pref| (GWorld| |00002de0| 20 67 77 2d 76 69 65 77 | 29 20 3a 43 47 72 61 66 | gw-view|) :CGraf| |00002df0| 50 6f 72 74 2e 70 6f 72 | 74 52 65 63 74 29 29 29 |Port.por|tRect)))| |00002e00| 29 0d 20 20 20 20 20 20 | 20 20 0d 20 20 20 20 20 |). | . | |00002e10| 20 20 20 3b 3b 6e 65 65 | 64 20 74 6f 20 64 72 61 | ;;nee|d to dra| |00002e20| 77 20 74 68 65 20 72 67 | 6e 20 69 6e 20 6c 6f 63 |w the rg|n in loc| |00002e30| 61 6c 20 63 6f 6f 72 64 | 20 74 6f 20 65 6e 73 75 |al coord| to ensu| |00002e40| 72 65 20 70 61 74 74 65 | 72 6e 20 61 6c 67 69 6e |re patte|rn algin| |00002e50| 6d 65 6e 74 20 2d 20 79 | 75 63 6b 21 0d 20 20 20 |ment - y|uck!. | |00002e60| 20 20 20 20 20 28 6c 65 | 74 2a 20 28 28 6f 6c 64 | (le|t* ((old| |00002e70| 2d 72 67 6e 2d 74 6c 20 | 28 68 72 65 66 20 72 67 |-rgn-tl |(href rg| |00002e80| 6e 20 3a 52 65 67 69 6f | 6e 2e 72 67 6e 42 42 6f |n :Regio|n.rgnBBo| |00002e90| 78 2e 74 6f 70 4c 65 66 | 74 29 29 0d 20 20 20 20 |x.topLef|t)). | |00002ea0| 20 20 20 20 20 20 20 20 | 20 20 20 28 6e 65 77 2d | | (new-| |00002eb0| 72 67 6e 2d 74 6c 20 28 | 72 6c 65 74 20 28 28 70 |rgn-tl (|rlet ((p| |00002ec0| 74 5f 70 20 3a 50 6f 69 | 6e 74 20 6f 6c 64 2d 72 |t_p :Poi|nt old-r| |00002ed0| 67 6e 2d 74 6c 29 29 0d | 20 20 20 20 20 20 20 20 |gn-tl)).| | |00002ee0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00002ef0| 20 20 20 20 20 28 23 5f | 47 6c 6f 62 61 6c 54 6f | (#_|GlobalTo| |00002f00| 4c 6f 63 61 6c 20 70 74 | 5f 70 29 0d 20 20 20 20 |Local pt|_p). | |00002f10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | | |00002f20| 20 20 20 20 20 20 20 20 | 20 28 73 75 62 74 72 61 | | (subtra| |00002f30| 63 74 2d 70 6f 69 6e 74 | 73 20 28 25 67 65 74 2d |ct-point|s (%get-| |00002f40| 70 6f 69 6e 74 20 70 74 | 5f 70 29 20 28 70 72 65 |point pt|_p) (pre| |00002f50| 66 20 63 75 72 2d 70 6f | 72 74 20 3a 47 72 61 66 |f cur-po|rt :Graf| |00002f60| 50 6f 72 74 2e 70 6f 72 | 74 52 65 63 74 2e 74 6f |Port.por|tRect.to| |00002f70| 70 4c 65 66 74 29 29 29 | 29 0d 20 20 20 20 20 20 |pLeft)))|). | |00002f80| 20 20 20 20 20 20 20 20 | 20 28 6f 6c 64 2d 6f 72 | | (old-or| |00002f90| 69 67 69 6e 20 28 76 69 | 65 77 2d 6f 72 69 67 69 |igin (vi|ew-origi| |00002fa0| 6e 20 67 77 2d 76 69 65 | 77 29 29 0d 20 20 20 20 |n gw-vie|w)). | |00002fb0| 20 20 20 20 20 20 20 20 | 20 20 20 28 6e 65 77 2d | | (new-| |00002fc0| 6f 72 69 67 69 6e 20 28 | 61 64 64 2d 70 6f 69 6e |origin (|add-poin| |00002fd0| 74 73 20 6f 6c 64 2d 6f | 72 69 67 69 6e 20 28 73 |ts old-o|rigin (s| |00002fe0| 75 62 74 72 61 63 74 2d | 70 6f 69 6e 74 73 20 6e |ubtract-|points n| |00002ff0| 65 77 2d 72 67 6e 2d 74 | 6c 20 6f 6c 64 2d 72 67 |ew-rgn-t|l old-rg| |00003000| 6e 2d 74 6c 29 29 29 29 | 0d 20 20 20 20 20 20 20 |n-tl))))|. | |00003010| 20 20 20 0d 20 20 20 20 | 20 20 20 20 20 20 28 77 | . | (w| |00003020| 69 74 68 2d 66 6f 63 75 | 73 65 64 2d 76 69 65 77 |ith-focu|sed-view| |00003030| 20 67 77 2d 76 69 65 77 | 0d 20 20 20 20 20 20 20 | gw-view|. | |00003040| 20 20 20 20 20 28 77 69 | 74 68 2d 66 6f 72 65 2d | (wi|th-fore-| |00003050| 63 6f 6c 6f 72 20 28 72 | 67 62 2d 74 6f 2d 63 6f |color (r|gb-to-co| |00003060| 6c 6f 72 20 72 67 62 2d | 66 6f 72 65 29 0d 20 20 |lor rgb-|fore). | |00003070| 20 20 20 20 20 20 20 20 | 20 20 20 20 28 77 69 74 | | (wit| |00003080| 68 2d 62 61 63 6b 2d 63 | 6f 6c 6f 72 20 28 72 67 |h-back-c|olor (rg| |00003090| 62 2d 74 6f 2d 63 6f 6c | 6f 72 20 72 67 62 2d 62 |b-to-col|or rgb-b| |000030a0| 61 63 6b 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |ack). | | |000030b0| 20 20 20 20 20 28 6d 6f | 76 65 2d 72 65 67 69 6f | (mo|ve-regio| |000030c0| 6e 2d 74 6f 20 72 67 6e | 20 6e 65 77 2d 72 67 6e |n-to rgn| new-rgn| |000030d0| 2d 74 6c 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |-tl). | | |000030e0| 20 20 20 20 20 28 47 57 | 6f 72 6c 64 2d 73 65 74 | (GW|orld-set| |000030f0| 2d 6f 72 69 67 69 6e 20 | 67 77 2d 76 69 65 77 20 |-origin |gw-view | |00003100| 6e 65 77 2d 6f 72 69 67 | 69 6e 29 0d 20 20 20 20 |new-orig|in). | |00003110| 20 20 20 20 20 20 20 20 | 20 20 20 20 28 69 66 20 | | (if | |00003120| 28 77 70 74 72 2d 63 6f | 6c 6f 72 2d 70 20 63 75 |(wptr-co|lor-p cu| |00003130| 72 2d 70 6f 72 74 29 0d | 20 20 20 20 20 20 20 20 |r-port).| | |00003140| 20 20 20 20 20 20 20 20 | 20 20 28 77 69 74 68 2d | | (with-| |00003150| 62 61 63 6b 2d 70 69 78 | 2d 70 61 74 20 28 70 72 |back-pix|-pat (pr| |00003160| 65 66 20 63 75 72 2d 70 | 6f 72 74 20 3a 43 47 72 |ef cur-p|ort :CGr| |00003170| 61 66 50 6f 72 74 2e 62 | 6b 50 69 78 50 61 74 29 |afPort.b|kPixPat)| |00003180| 20 28 23 5f 45 72 61 73 | 65 52 67 6e 20 72 67 6e | (#_Eras|eRgn rgn| |00003190| 29 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |)). | | |000031a0| 20 20 20 20 20 28 77 69 | 74 68 2d 62 61 63 6b 2d | (wi|th-back-| |000031b0| 70 61 74 20 20 20 20 20 | 28 70 72 65 66 20 63 75 |pat |(pref cu| |000031c0| 72 2d 70 6f 72 74 20 3a | 47 72 61 66 50 6f 72 74 |r-port :|GrafPort| |000031d0| 2e 62 6b 50 61 74 29 20 | 20 20 20 20 28 23 5f 45 |.bkPat) | (#_E| |000031e0| 72 61 73 65 52 67 6e 20 | 72 67 6e 29 29 29 0d 20 |raseRgn |rgn))). | |000031f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 28 | | (| |00003200| 47 57 6f 72 6c 64 2d 73 | 65 74 2d 6f 72 69 67 69 |GWorld-s|et-origi| |00003210| 6e 20 67 77 2d 76 69 65 | 77 20 6f 6c 64 2d 6f 72 |n gw-vie|w old-or| |00003220| 69 67 69 6e 29 0d 20 20 | 20 20 20 20 20 20 20 20 |igin). | | |00003230| 20 20 20 20 20 20 28 6d | 6f 76 65 2d 72 65 67 69 | (m|ove-regi| |00003240| 6f 6e 2d 74 6f 20 72 67 | 6e 20 6f 6c 64 2d 72 67 |on-to rg|n old-rg| |00003250| 6e 2d 74 6c 29 29 29 29 | 29 29 0d 20 20 20 20 20 |n-tl))))|)). | |00003260| 20 0d 20 20 20 20 20 20 | 28 75 6e 6c 65 73 73 20 | . |(unless | |00003270| 28 68 61 6e 64 6c 65 70 | 20 72 65 67 69 6f 6e 29 |(handlep| region)| |00003280| 20 28 23 5f 44 69 73 70 | 6f 73 65 52 67 6e 20 72 | (#_Disp|oseRgn r| |00003290| 67 6e 29 29 29 29 0d 20 | 20 74 29 0d 0d 3b 3b 3b |gn)))). | t)..;;;| |000032a0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |000032b0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |000032c0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |000032d0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;| |000032e0| 3b 3b 3b 0d 0d 23 7c 0d | 0d 0d 65 78 61 6d 70 6c |;;;..#|.|..exampl| |000032f0| 65 20 63 6f 64 65 20 63 | 61 6e 20 62 65 20 66 6f |e code c|an be fo| |00003300| 75 6e 64 20 69 6e 20 6b | 69 6e 65 73 69 73 2d 75 |und in k|inesis-u| |00003310| 0d 20 20 0d 0d 7c 23 00 | 00 00 00 00 00 00 00 00 |. ..|#.|........| |00003320| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003340| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003350| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003370| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003380| 00 00 01 00 00 00 01 68 | 00 00 00 68 00 00 00 52 |.......h|...h...R| |00003390| 29 0d 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 0d 3b 3b 76 |).;;;;;;|;;;;.;;v| |000033a0| 61 72 69 6f 75 73 20 70 | 61 74 63 68 65 73 20 74 |arious p|atches t| |000033b0| 10 73 63 72 65 65 6e 2d | 33 62 75 66 2e 6c 69 73 |.screen-|3buf.lis| |000033c0| 70 72 02 00 00 00 54 45 | 58 54 43 43 4c 32 01 00 |pr....TE|XTCCL2..| |000033d0| 00 00 54 45 58 54 43 43 | 4c 32 01 00 00 14 00 00 |..TEXTCC|L2......| |000033e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000033f0| 00 00 a5 ed 16 7a 00 00 | 32 97 00 00 01 ba 0d 28 |.....z..|2......(| |00003400| 65 76 61 6c 2d 77 68 65 | 6e 20 28 3a 63 6f 6d 70 |eval-whe|n (:comp| |00003410| 69 6c 65 2d 74 6f 70 6c | 65 76 65 6c 20 3a 6c 6f |ile-topl|evel :lo| |00003420| 61 64 2d 74 6f 70 6c 65 | 76 65 6c 20 3a 65 78 65 |ad-tople|vel :exe| |00003430| 63 75 74 65 29 0d 0d 20 | 20 28 64 65 66 6d 61 63 |cute).. | (defmac| |00003440| 72 6f 20 68 73 65 74 20 | 28 70 6f 69 6e 74 65 72 |ro hset |(pointer| |00003450| 20 61 63 63 65 73 73 6f | 72 20 74 68 69 6e 67 29 | accesso|r thing)| |00003460| 0d 20 20 20 20 60 28 72 | 73 65 74 20 2c 70 6f 69 |. `(r|set ,poi| |00003470| 6e 74 65 72 20 2c 61 63 | 63 65 73 73 6f 72 20 2c |nter ,ac|cessor ,| |00003480| 00 00 00 0a 00 01 00 16 | 0a 00 01 00 00 00 00 00 |........|........| |00003490| 00 0a 00 00 07 43 6f 75 | 72 69 65 72 00 00 00 48 |.....Cou|rier...H| |000034a0| 00 0a 43 6f 75 72 69 65 | 72 00 00 00 00 00 00 00 |..Courie|r.......| |000034b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000034c0| 00 00 00 06 00 08 00 2d | 01 2e 03 24 03 a0 00 2d |.......-|...$...-| |000034d0| 01 2e 03 24 03 a0 00 00 | 00 00 00 00 32 1b 00 00 |...$....|....2...| |000034e0| 32 1b 00 00 28 16 01 00 | 00 00 01 00 00 00 01 68 |2...(...|.......h| |000034f0| 00 00 00 68 00 00 00 52 | 00 d0 8b d0 06 40 00 00 |...h...R|.....@..| |00003500| 00 1c 00 52 00 01 46 52 | 45 44 00 01 00 12 4d 50 |...R..FR|ED....MP| |00003510| 53 52 00 00 00 2a 00 02 | ff ff 00 00 00 00 00 00 |SR...*..|........| |00003520| 00 00 00 03 ff ff 00 00 | 00 0e 00 00 00 00 03 ed |........|........| |00003530| ff ff 00 00 00 1c 00 d1 | 8d 08 00 00 00 00 00 00 |........|........| |00003540| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003550| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| +--------+-------------------------+-------------------------+--------+--------+